MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Existe-t-il une option upsert dans la commande mongodb insert ?

Depuis upsert est défini comme une opération qui "crée un nouveau document lorsqu'aucun document ne correspond aux critères de requête " il n'y a pas de place pour les upserts dans insert commande. C'est une option pour la update commande. Si vous exécutez la commande comme ci-dessous, cela fonctionne comme une update , si un document correspond à query , ou sous forme d'insert avec le document décrit par update comme argument .

db.collection.update(query, update, {upsert: true})

MongoDB 3.2 ajoute replaceOne :

db.collection.replaceOne(query, replacement, {upsert: true})

qui a un comportement similaire, mais son replacement ne peut pas contenir d'opérateurs de mise à jour.