MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como atualizar vários elementos de matriz no mongodb


ATUALIZAÇÃO: A partir da versão 3.6 do Mongo, esta resposta não é mais válida, pois o problema mencionado foi corrigido e existem maneiras de fazer isso. Verifique outras respostas.

Neste momento não é possível utilizar o operador posicional para atualizar todos os itens de um array. Veja JIRA http://jira.mongodb.org/browse/SERVER-1243

Como um trabalho em torno, você pode:
  • Atualize cada item individualmente (events.0.handled events.1.handled...) ou...
  • Leia o documento, faça as edições manualmente e salve-o substituindo o anterior (marque "Update ifCurrent" se quiser garantir atualizações atômicas)