我正在尝试在pymongo中创建可重用的脚本,可以在对脚本进行最小更改的情况下用于未来的应用程序。试图将外部变量传递给具有$unwind, $objectToArray, $Project的聚合函数。我尝试了所有的方法,按照MongoDB手册,但没有运气。
例:Parent_Key = ' abc 'elements_list = "key1": "$abc.Key1"; "等。
下面是命令
db.test.aggregate([{"unwind"美元:Parent_Key},{"addfields"美元:{"abcrecordexists"{"gt"[{"size"美元:{"objectToArray"美元:"abc"}, 0}]}}},{"match"美元:{"abcrecordexists"{"gt"美元:0}}},{"project"美元:{"_id" 1、elements_list}}])
我正在尝试将上述声明的参数传递给上述查询。run in to不是一个已定义的名称。因为我刚来蒙古,这将是很大的帮助。
当然可以传递参数,只需要确保类型和语法是正确的。希望这给你一个想法:
from pymongo import MongoClient
db = MongoClient()['mydatabase']
db.mycollection.insert_one({'list': [1, 2, 3, 4]})
list_to_unwind = '$list'
projection = {'_id': 0}
agg = db.mycollection.aggregate([
{'$unwind': list_to_unwind},
{'$project': projection}
])