2013-08-29 4 views
3

mongodb를 사용하여 데이터베이스를 만들고 싶습니다. 중첩 된 엔티티를 쿼리하는 방법이 궁금합니다.collection.find()를 사용하여 pymongo의 중첩 쿼리

from pymongo import MongoClient 
db = client['test_database'] 
collection = db['test_collection'] 
dat=[ 
{ "id":110, "data":{"Country":"ES","Count":64}}, 
{ "id":112, "data":{"Country":"ES","Count":5}}, 
{ "id":114, "data":{"Country":"UK","Count":3}} 
] 
collection.insert(dat) 
우리는 "나라"값 "ES"로 기록을 조회 할 수있는 방법을

: 예를 들어, 다음과 같이 우리가 DB를 만들 가정하자? 아니면 "카운트"가 6 미만인 레코드를 어떻게 쿼리 할 수 ​​있습니까?

답변

8

mongo에서 지원하는 점 표기법을 사용할 수 있습니다.

db.test_collection.find({"data.Country": "ES"}) 
db.test_collection.find({"data.Count": {"$lt": 6}}) 

비 파이썬 버전의 경우 this stackoverflow question을 확인하십시오.