Искате да използвате 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"
.
Вторият параметър определя актуализацията, модификацията, която да се приложи. Имаме $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 } }
);