我需要遍历我的集合并从键中获取具有相同名称的所有值。
[
{
"_id": {
"$oid": "59b3824b44e96c07dceba8de"
},
"place": "Yellow Stone",
"time": "2017-09-08",
"user": "user@gmail.com",
"user_go": "yes"
},
{
"_id": {
"$oid": "59b4ea8644e96c37c43be33a"
},
"place": "Yosemite",
"time": "2017-11-10",
"user": "user@gmail.com",
"user_go": "yes"
},
{
"_id": {
"$oid": "59b4ea9144e96c37c43be344"
},
"place": "Devils Tower",
"time": "2017-09-10",
"user": "user@gmail.com",
"user_go": "yes"
},
]
我想知道如何根据用户名从集合中获取所有地名。我尝试过做类似的事情:
data = db.voting.find({'user' : 'user@gmail.com'})
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,但无法找到如何使用它的好例子。
答案 0 :(得分:3)
x['place']
是您正在寻找的。 p>
for x in parsed:
place = x['place']
... # do something with place