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

Atualizando um array no MongoDB usando o driver Java


sim, o código acima funciona perfeitamente bem. Agora sei onde estava meu erro. Eu queria fazer isso à prova de balas, então pensei que seria melhor usar save() no DBCollection no final e salvar explicitamente a lista de compras DBObject:
shoppingLists.save( shoppingList );

Agora li em algum outro fórum que os objetos que você recupera do banco de dados não são sincronizados com o banco de dados posteriormente (parece meio lógico para mim agora :) ). Então eu mesmo sobrescrevi as mudanças todas as vezes. Depois de remover a linha acima funcionou :)

Portanto, uma regra importante:quando você atualiza seu DBCollection – isso é enviado diretamente para o banco de dados! – não salve um DBObject que você consultou antes da atualização! Ele substituirá sua atualização!