Mongodb Значение приращения внутри вложенного массива

Я использую mongotemplate для Spring, и мне было интересно, как я могу увеличить значение одного из моих документов, которые у меня есть в массиве атомарно. Представьте, что у нас есть

{'a':1, b:[{_id:341432, c:2 }, {_id:341445, c:3 }]}; 

Я хотел бы получить инкремент c от 3 до 4 для _id 341445

Я использую findAndModify, но я не знаю, как это сделать для вложенного документа в массиве.

С уважением.

One Solution collect form web for “Mongodb Значение приращения внутри вложенного массива”

Чтобы обновить элемент в поле массива, вы можете использовать оператор positional $

Например, следующие js приращения c от 3 до 4 для _id 341445:

 db.collection.update({a:1, "b._id":341445} , {$inc:{"b.$.c":1}}) 
  • Отдых с весны и корс
  • Spring - вставка зависимости в ServletContextListener
  • Как управлять версиями REST API с весной?
  • Как установить базовый url для restа в весенний ботинок?
  • Как настроить имена параметров при связывании объектов командной строки spring mvc
  • tomcat7 - jdbc datasource - это, скорее всего, создаст утечку памяти
  • Java Generics и Enum, потеря параметров шаблона
  • сеансы загрузки исключений из постоянного хранилища
  • Spring WebSocket @SendToSession: отправить сообщение на определенный сеанс
  • Ошибка создания bean-компонента с именем «entityManagerFactory», определенным в ресурсе пути classа: вызов метода init
  • Пользовательский менеджер проверки подлинности с функцией Spring Security и Java Configuration
  • Interesting Posts
    Давайте будем гением компьютера.