Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb可以动态附加多少级子文档?_Mongodb_Pymongo - Fatal编程技术网

mongodb可以动态附加多少级子文档?

mongodb可以动态附加多少级子文档?,mongodb,pymongo,Mongodb,Pymongo,如果我想添加dynamicali,我似乎可以进一步添加一个子文档,下面是代码: db.users.update({"pup.cmn.id":id}, {"$addToSet":{"pup.cmn":{"abus":email}}}) 这将导致以下错误: OperationFailure: can't append to array using string field name: cmn 然后,如果我添加位置元素,我会得到以下结果: db.users.update({"pup.cmn.i

如果我想添加dynamicali,我似乎可以进一步添加一个子文档
,下面是代码:

db.users.update({"pup.cmn.id":id}, {"$addToSet":{"pup.cmn":{"abus":email}}}) 
这将导致以下错误:

OperationFailure: can't append to array using string field name: cmn 
然后,如果我添加
位置元素
,我会得到以下结果:

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" 
}
]

如您所见,它会将其添加到同一级别,我不希望这样,因为应用程序会出错。

在撰写本文时(2.4.x)Mongodb似乎没有此功能,有一个问题:

您能用原始文档和您想要的结果样本更新您的问题吗?我想要的只是将
abus
放在
cmn
下,而不是放在同一级别上。从您的示例来看,这似乎是正在发生的事情。是的,它添加在同一级别上,而不是在它下面:(很抱歉,我不明白你的问题。cmn是一个数组,如果你向其中添加了一些内容,它将位于数组中。或者你想将ABU添加到数组的第一个元素中吗?创建一个你希望的示例文档,这将帮助我们给你一个正确的答案:)