update
を使用したい 次のようにコレクションにコマンドを実行します(例):
db.collection.update(
{ "my_array.title" : "title_one" },
{ $inc : { "my_array.$.click_number" : 1 } }
);
何が起こったのですか?
update
の最初のパラメータについて query
を定義します 更新するドキュメントと一致させます。 title
という名前のプロパティを検索します my_array
という配列内 。 body
と照合できます またはemail
もちろん、ドット表記を次のように変更します:"my_array.email"
。
2番目のパラメーターは、更新、適用する変更を定義します。 $inc
があります このステートメントで使用するフィールドをインクリメントする演算子。 query
配列要素が一致するドキュメントを選択します。 $
を使用して、この一致した配列アイテムにアクセスできます 表記。 "my_array.$"
title
を持つ一致した配列要素を選択します 、email
およびbody
。存在しないフィールドに値を与えようとすると、MongoDBがそれを行います。フィールドが存在しない場合は、$inc
フィールドを指定された量に設定します。 $inc
オペレーターは正と負の増分量を受け入れます。
別の例:
db.collection.update(
{ _id : "john", "my_array.email" : "email" },
{ $inc : { "my_array.$.click_number" : 1 } }
);