我有一个像这样的python列表:
Mp_names= ["AA", "BB", "CC" ...]
此列表中的所有条目都代表我想用$ project显示的字段名称。那么如何在MongoDB查询中获取所有列表条目,以便理论上我的代码看起来像这样:
df = pd.DataFrame(list(db.MyCollection.aggregate(
[
{"$project" :
{
"AA": 1,
"BB": 1,
"CC": 1
}
}
]
)))
答案 0 :(得分:0)
您可以使用此数组创建一个对象,并传递给$project
进行mongo查询。
像
这样的东西import json
Mp_names= ["AA", "BB", "CC"]
data = {}
for i in range(len(Mp_names)):
data[Mp_names[i]] = 1;
propertiesToShow = json.dumps(data)
现在你可以在那里使用propertiesToShow
。像
{"$project" : propertiesToShow}
答案 1 :(得分:0)
使用词典理解。
df = pd.DataFrame(list(db.MyCollection.aggregate(
[
{
"$project": {field: 1 for field in Mp_names}
}
]
)))