如下所示的现有集合:
"_id" : "12345",
"vals" : {
"dynamickey1" : {}
}
我需要补充一点
"vals" : {
"dynamickey2" : {}
}
我已经用pymongo 2.8在python 2.7中进行了尝试:
col.update({'_id': id)},{'$push': {'vals': {"dynamickey2":{"values"}}}})
错误日志:
pymongo.errors.OperationFailure: The field 'vals' must be an array but is of type object in document
预期产出:
"_id" : "12345",
"vals" : {
"dynamickey1" : {},
"dynamickey2" : {}
}
编辑以下问题编辑:
两种选择;使用带有点符号的$set,或者使用python dict操作
第一种方法是MongoDB本地方法,只需一行代码;第二个是更多的工作,但如果您的用例更细致的话,它会提供更多的灵活性
方法1:
方法2:
无论哪种方式都会产生:
先前的答复
您的预期输出有一个具有重复字段的对象(vals
);这是不允许的。~所以无论你想做什么,都是行不通的
相关问题 更多 >
编程相关推荐