Primero, busque si existe una consulta de coincidencia de documentos.¿Cómo hago un get_or_create en pymongo (python mongodb)?
Si es así, actualice ese documento con los datos nuevos.
De lo contrario, inserte un nuevo documento en la base de datos.
Primero, busque si existe una consulta de coincidencia de documentos.¿Cómo hago un get_or_create en pymongo (python mongodb)?
Si es así, actualice ese documento con los datos nuevos.
De lo contrario, inserte un nuevo documento en la base de datos.
Puede usar "upsert" igual a true. Luego la consulta de actualización que ejecuta con "upsert" como verdadero hará exactamente lo que quiera.
De la documentación MongoDB:
db.collection.update(criteria, objNew, upsert, multi)
Arguments:
criteria - query which selects the record to update;
objNew - updated object or $ operators (e.g., $inc) which manipulate the object
upsert - if this should be an "upsert"; that is, if the record does not exist, insert it
multi - if all documents matching criteria should be updated
http://www.mongodb.org/display/DOCS/Updating
Ejemplo:
"actualización" documentacióndb.test.update({"x": "42"}, {"$set": {"a": "21"}},True)
#True => Upsert is True
Ver aquí:
http://api.mongodb.org/python/current/api/pymongo/collection.html
'update' solo devuelve un' WriteResult'. Use 'findAndModify' en su lugar. – mljli
es que algunas tareas? ; x – ThiefMaster
Posible duplicado de [MongoDB: Insertar si no existe] (http://stackoverflow.com/questions/2801008/mongodb-insert-if-not-exists)? –
no es tarea pero no se puede leer la documentación básica .... –