mongodb可以动态添加多个级别的子文档?

时间:2013-05-15 16:00:47

标签: mongodb pymongo

如果我想添加 dynamicaly ,我似乎可以超过一个subdocument,这里是代码:

db.users.update({"pup.cmn.id":id}, {"$addToSet":{"pup.cmn":{"abus":email}}}) 

这给出了错误:

OperationFailure: can't append to array using string field name: cmn 

然后,如果我添加positional element我得到这个:

db.users.update({"pup.cmn.id":id}, {"$addToSet":{"pup.$.cmn":{"abus":email}}}) 

"cmn" : 
[ 
{ 
"fto" : ObjectId("5190e8a53a5f3a0c102af045") 
"id" : "14.05.2013 12:29:53" 
},
{ 
"abus" : "u...@example.com" 
}
]

所以你可以看到,它会将它添加到同一级别,我不希望这样,因为应用程序会出错。

1 个答案:

答案 0 :(得分:0)

似乎Mongodb在写作时(2.4.x)没有这个功能,有一张票: https://jira.mongodb.org/browse/SERVER-831