3

フィールド f1、f2、f3 のセットを持つ DB があります。f3 は配列です。このような更新操作を行いたい

db.collection.update ({f1:1},{$push:{f3:{$each:[ f2 の値],$slice:-2}}})

私はインターネットで検索しましたが、何も見つかりませんでした。これが可能かどうかはわかりません。どんな助けでも大歓迎です。

例:

これは私のドキュメントのセットです:

doc1 = { name: "User1", score: "Good",  History of scores: ["Good", "Bad", "Average", "Bad"] }
doc2 = { name: "User2", score: "Bad",  History of scores: ["Good", "Average", "Average", "Bad"] }
doc3 = { name: "User3", score: "Good",  History of scores: ["Good", "Good", "Average", "Good"] }

ここで、対応するデータを挿入する必要があるとします。

{name : "User1", score: "Good"}

doc1 が次のようになるように、ドキュメントで user1 のスコアの履歴を更新したいと思います。

doc1 = { name: "User1", score: "Good", History of scores: ["Bad", "Average", "Bad", "Good"] }

同じ更新の別の更新では、doc1 を次のように変更する必要があります。

doc1 = { name: "User1", score: "Good", History of scores: ["Average", "Bad", "Good", "Good"] }

私の質問がより明確になったことを願っています。ありがとう。

4

2 に答える 2