MongoDB documento se actualiza
MongoDB usandoupdate () y el método save ()para actualizar la colección de documentos. Vamos a echar un vistazo detallado a la aplicación y la diferencia entre las dos funciones.
método update ()
método de actualización () se utiliza para actualizar un documento existente. Sintaxis es la siguiente:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
Descripción de parámetros:
- consulta: criterios de consulta de actualización, similar a la actualización de consulta SQL en la parte trasera interior.
- actualizar objetos y algunos de los nuevos operadores (por ejemplo, $, $ inc es.), etc., también puede ser entendida como un conjunto de vuelta dentro de la actualización de consultas SQL: actualización
- upsert: opcional, es decir, este argumento es que si no hay una actualización de registro, se inserta objNew, fiel a insertar, el valor predeterminado es falso, no se ha insertado.
- múltiples: Opcional, por defecto mongodb es falso, sólo para encontrar el primer registro para actualizar, si este argumento es cierto, de acuerdo con las condiciones puestas a cabo muchos registros presentarán todas las actualizaciones.
- writeConcern: excepción de nivel opcional es lanzada.
Ejemplos
Insertamos la siguiente col recolección de datos:
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '本教程', url: 'http://www.w3write.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
Entonces tenemos que actualizar el título por el método de actualización () (título):
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) # 输出信息 > db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
Se puede ver el título (título) de la original actualización "MongoDB Tutorial" para "MongoDB."
La declaración anterior se modificará el documento encontrado en la primera, si desea editar el mismo documento y más, es necesario configurar múltiples parámetros a true.
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
guardar método ()
guardar método () pasando documentos para reemplazar el documento existente. Sintaxis es la siguiente:
db.collection.save( <document>, { writeConcern: <document> } )
Descripción de parámetros:
- documento: los datos del documento.
- writeConcern: excepción de nivel opcional es lanzada.
Ejemplos
El siguiente ejemplo sustituimos _ID como datos 56064f89ade2f21f36b03136 documento:
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
Después de la sustitución se realiza correctamente, podemos () del sistema para ver los datos después de la sustitución por find
>db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 } >
más ejemplos
Sólo actualizar el primer registro:
Actualizar todo:
Añadir sólo la primera:
Añadir todos Añadido:
Actualizar todo:
Sólo actualizar el primer registro: