我在mongo数据库中有两个集合。目前,我在collection2的文档中有一个来自collection1的ID文档。我想将Collection1中的一些值从Collection1中的相关文档中的一些值复制到嵌套字段(dataFromCollection1)。我正在寻求帮助,因为我找不到将mongo基本字段中的值传递给python中的变量的解决方案。
Collection1:
{
"_id" : ObjectId("583d498214f89c3f08b10e2d"),
"name" : "Name",
"gender" : "men",
"secondName" : "",
"testData" : [ ],
"numberOf" : NumberInt(0),
"place" : "",
"surname" : "Surname",
"field1" : "eggs",
"field2" : "hamm",
"field3" : "foo",
"field4" : "bar"
}
Collection2:
{
"_id" : ObjectId("58b028e26900ed21d5153a36"),
"collection1" : ObjectId("583d498214f89c3f08b10e2d")
"fieldCol2_1" : "123",
"fieldCol2_2" : "332",
"fieldCol2_3" : "133",
"dataFromCollection1" : {
"name" : " ",
"surname" : " ",
"field1" : " ",
"field2" : " ",
"field3" : " ",
"field4" : " "
}
}
答案 0 :(得分:0)
我认为你应该在pymongo包中使用聚合函数,总的来说你可以使用$ lookup匹配键值对和项目来预测已经问过这个问题的必填字段,这样pymongo - how to match on lookup?可能对你有所帮助。 然后,您可以聚合使用$ out函数来创建您感兴趣的新更新集合,或者您也可以使用pymongo中的更新来更新现有集合。