MongoDB를 사용해본지 얼마 되지 않아서 용어가 틀릴 수도 있다.
일단 하고자 하는 것은 필드의 값이 다큐먼트인 경우 하위 다큐먼트의 값을 필터링해서 검색하는 것이다.
테스트 데이터
[{'_id': ObjectId('625400ebf1a8f0ddaa5de4c0'),
'name': 'test1',
'data': {'age': 10, 'height': 120}}]
> db.test_collection.find({name:'test1'})
{ "_id" : ObjectId("625400ebf1a8f0ddaa5de4c0"), "name" : "test1", "data" : { "age" : 10, "height" : 120 } }
age로 필터를 걸 경우
- mongoshell 을 사용할 경우 쌍따옴표로 묶어주어야 검색이 된다.
> db.test_collection.find({ "data.age" : 10 })
{ "_id" : ObjectId("625400ebf1a8f0ddaa5de4c0"), "name" : "test1", "data" : { "age" : 10, "height" : 120 } }
db.getCollection("test_collection").find({ "data.age" : { $gt : 4} })
'ETC > Database' 카테고리의 다른 글
[MS-SQL] CREATE TABLE IF NOT EXISTS (0) | 2016.10.07 |
---|