【发布时间】:2020-06-15 09:34:56
【问题描述】:
我正在使用 pymongo 更新 mongodb 中的一些数据。我正在尝试使用聚合和查找将两个集合中的数据合并为一个。基本上我正在尝试做这样的事情:https://stackoverflow.com/a/35948843
这是我的代码:
client = pymongo.MongoClient('localhost', 27017) #Connecting to mongo
db = client['<Database name>']
collection = db["<Collection name 1>"]
collection.aggregate([{
"$lookup": {
"from": "<Collection name 2>",
"localField": "Symbol",
"foreignField": "Symbol",
"as": "Extra Info"
}
}])
虽然我没有收到任何错误,但我发现我的集合尚未更新且聚合未起作用
我尝试输出聚合结果来检查是否有错误:
results = collection.aggregate([{
"$lookup": {
"from": "<Collection name 2>",
"localField": "Symbol",
"foreignField": "Symbol",
"as": "Extra Info"
}
}])
print (list(results))
“结果”的输出结果正是我想要的,这意味着聚合已经奏效。
所以我想了解我做错了什么或愚蠢?如果有人可以提供帮助,那将非常有帮助。
【问题讨论】:
-
聚合查询返回一个游标 - 它不更新集合..
-
您是想将聚合结果存储在原始集合之一还是新集合中?
-
理想情况下,我只想将其存储在原始集合中并删除其他集合
标签: python mongodb aggregate pymongo