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

Existe uma opção upsert no comando de inserção do mongodb?


Desde upsert é definido como a operação que "cria um novo documento quando nenhum documento corresponde aos critérios de consulta " não há lugar para upserts em insert comando. É uma opção para a update comando. Se você executar o comando como abaixo, ele funcionará como um update , se houver um documento correspondente a query , ou como um insert com documento descrito por update como argumento .
db.collection.update(query, update, {upsert: true})

O MongoDB 3.2 adiciona replaceOne :
db.collection.replaceOne(query, replacement, {upsert: true})

que tem comportamento semelhante, mas sua replacement não pode conter operadores de atualização.