Искате да използвате 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 } }
);