2

allitems各ドキュメントが次の形式のコレクションがあるとします

{_id: "1", items: [{number: 1, main: "how are you?", sub:[{id:1, item: "does it change with the day?", score: 0},{id:2, item:"some other question", score: 0}]}]}

サブアイテムのスコアを更新するにはどうすればよいですか?

私はもう試した

 db.allitems.update({_id:"1"}, {$set:{'items.0.sub.0.score': 5}});

次のエラーが表示されます。

error: {
    "$err" : "Unsupported projection option: items.0.sub.0.score",
    "code" : 13097
}

どうすればこれを修正できますか?

4

1 に答える 1

6

$setドット表記を使用する代わりにsetキーと引用符を使用する必要があります。

db.allitems.update({_id:"1"}, {$set: {'items.0.sub.0.score': 5}})
于 2013-03-02T04:18:55.357 に答える