0

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

ご覧のとおり、同じレベルに追加されますが、アプリケーションでエラーが発生するため、それは望ましくありません。

4

1 に答える 1

0

執筆時点 (2.4.x) の Mongodb にはこの機能がないようです。チケットがあります: https://jira.mongodb.org/browse/SERVER-831

于 2013-06-08T22:42:22.443 に答える