본문 바로가기
Programming/Mongo

MongoDB find query by key

by guru_k 2017. 3. 2.
728x90
반응형

mongoDB 스키마의 타입을 mixed로 정의되어 있는 도큐먼트의 key를 find로 조회하고 싶을때 아래와 같은 query를 이용하여 조회할 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "_id" : "58b7b17113707388b2d6f8bb",
    "code" : 1,
    "info" : {
        "1" : {
            "product" : 1
        }, 
         "2" : {
            "product" : 2
        }
    }
},
{
    "_id" : "58b7b17113707388b2d6f8bc",
    "code" : 2,
    "info" : {
        "1" : {
            "product" : 1
        }, 
         "2" : {
            "product" : 2
        }
    }
}
cs


위와 같이 MongoDB에 도큐먼트가 생성되어있다고 가정을 한다.

코드값이 1이고 info안에 키가 2인 정보만을 find하고 싶다고 가정을 한다면,

아래와 같은 find query를 통해 조회할 수 있다.


1
db.getCollection('test').find({code: 1},{"info.2":1});
cs


위 query를 통해 해당 컬렉션을 find하면 결과는 아래와 같이 나온다.


1
2
3
4
5
6
7
8
{
    "_id" : "58b7b17113707388b2d6f8bb",
    "info" : {
         "2" : {
            "product" : 2
        }
    }
}
cs


find 시 키 값으로 해당 정보를 조회할 수 있다.


728x90
반응형

댓글