varios update registro multi insertar example documentos consultas complejas busquedas array actualizar mongodb mongoose

mongodb - update - Cómo actualizar si existe de lo contrario inserte un nuevo documento?



mongodb update multi example (3)

[db.collection.replaceOne(filter, replacement, options)] con upsert:true

Por ejemplo, desde here :

try { db.restaurant.replaceOne( { "name" : "Pizza Rat''s Pizzaria" }, { "_id": 4, "name" : "Pizza Rat''s Pizzaria", "Borough" : "Manhattan", "violations" : 8 }, { upsert: true } ); } catch (e){ print(e); }

Cómo actualizar si existe, de lo contrario inserte un documento nuevo en javascript / node.js? Estoy obteniendo como parámetro al diccionario de función, si el diccionario contiene _id debe actualizar, de lo contrario inserte en el servidor remoto (tengo conexión con el servidor remoto a través de mangosta y tengo el esquema de Persona que deseo insertar / actualizar).


collection.update con upsert:true . Ver también here .


En Mongoose, usaría Person.update según la documentación . Para crear un documento, si no existe, debe pasar { upsert : true } en el hash de opciones, ya que el valor predeterminado es false .

es decir

Person.update( { name : ''Ted'' }, { name : ''Ted'', age : 50 }, { upsert : true }, callback );