如何在python中将一个mongo文档中的值复制到另一个mongo文档中的嵌套字段中?

时间:2017-05-15 04:53:21

标签: python mongodb

我在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" : " "
    }
}

1 个答案:

答案 0 :(得分:0)

我认为你应该在pymongo包中使用聚合函数,总的来说你可以使用$ lookup匹配键值对和项目来预测已经问过这个问题的必填字段,这样pymongo - how to match on lookup?可能对你有所帮助。 然后,您可以聚合使用$ out函数来创建您感兴趣的新更新集合,或者您也可以使用pymongo中的更新来更新现有集合。