콜렉션을 반복하고 동일한 이름의 키에서 모든 값을 가져와야합니다. PyMongo 콜렉션 반복
[
{
"_id": {
"$oid": "59b3824b44e96c07dceba8de"
},
"place": "Yellow Stone",
"time": "2017-09-08",
"user": "[email protected]",
"user_go": "yes"
},
{
"_id": {
"$oid": "59b4ea8644e96c37c43be33a"
},
"place": "Yosemite",
"time": "2017-11-10",
"user": "[email protected]",
"user_go": "yes"
},
{
"_id": {
"$oid": "59b4ea9144e96c37c43be344"
},
"place": "Devils Tower",
"time": "2017-09-10",
"user": "[email protected]",
"user_go": "yes"
},
]
은 내가 사용자 이름에 따라 컬렉션에서 모든 장소의 이름을 가져 얼마나 궁금하네요. 나는 이와 비슷한 일을 시도했다 :
data = db.voting.find({'user' : '[email protected]'})
data = dumps(data)
parsed = json.loads(data)
for x in parsed:
for key,value in x.items():
print("values: {}".format(value))
당신은 내가 모든 키에 대한 모든 값을 가져 추측 할 수 있듯이, 어떻게 내가 원하는 키에 딱 값을 얻는 방법? 나는 또한 place = parsed[0]['place']
을 시도했지만 모든 값이 아닌 첫 번째 "장소"값만 반환합니다. 나는 명백한 무엇인가 놓치고있다라고 확신한다. 그러나 이것은 나의 머리를 감싸는 까다로움을 증명하고있다.
나는 또한 문서를 읽고 있었는데 cursour.forEach을 찾았지만 그것을 사용하는 좋은 예를 찾을 수 없습니다.
아니면 그냥 사용 ['별개의()'(https://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.distinct). 즉 db.voting.distinct ('장소', { '사용자': '사용자 @ gmail.com'})'. 어떤 "별개의"장소의 목록을 반환합니다. –