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

MongoDB:Como atualizar vários documentos com um único comando?


A atualização múltipla foi adicionada recentemente, portanto, está disponível apenas nas versões de desenvolvimento (1.1.3). A partir do shell você faz uma atualização múltipla passando true como o quarto argumento para update() , onde o terceiro argumento é o argumento upsert:
db.test.update({foo: "bar"}, {$set: {test: "success!"}}, false, true);

Para versões do mongodb 2.2+, você precisa definir a opção multi true para atualizar vários documentos de uma só vez.
db.test.update({foo: "bar"}, {$set: {test: "success!"}}, {multi: true})

Para versões do mongodb 3.2+, você também pode usar o novo método updateMany() para atualizar vários documentos de uma só vez, sem a necessidade de separar multi opção.
db.test.updateMany({foo: "bar"}, {$set: {test: "success!"}})