¿Qué es db.collection.updateOne() en MongoDB?

Que Es Db Collection Updateone En Mongodb



MongoDB es una poderosa base de datos no relacional que puede almacenar múltiples documentos. A veces, el usuario puede necesitar actualizar un solo documento que cumpla con ciertos criterios. En esta situación, pueden usar el “ db.colección.updateOne() ”, que actualiza y modifica el primer documento que cumple los criterios de selección y lo modifica.

¿Qué es el método “db.collection.updateOne()” en MongoDB?

El ' db.colección.updateOne() El método actualiza un solo documento que coincide con los criterios definidos. Si más de un documento coincide con los criterios, solo se modificará el primer documento. Se puede usar con operadores de actualización, como ' $establecer ”, “ $inc ' y mucho mas .

¿Cómo utilizar el método “db.collection.updateOne()” en MongoDB?

El ' db.colección.updateOne() El método ” se puede utilizar para actualizar un solo campo, así como varios campos de un solo documento que coincidan con los criterios de selección. Además, este método también puede agregar un campo a un documento y puede usarse con operadores de actualización. La sintaxis del “ db.colección.updateOne() El método se proporciona a continuación:







Sintaxis básica



db.colección.updateOne ( { criterios de filtro } , { actualizar } , { opciones } )

Aquí en la sintaxis anterior:



  • Este método actualizará el primer documento que cumpla con los criterios de selección.
  • El ' criterios de filtro ” define los criterios para la actualización
  • El ' actualizar ” contiene los campos que serán modificados en el documento
  • El ' opciones El argumento ” es un argumento opcional que modifica el funcionamiento de este método, como “ trastornar ' y ' pista

Para esta publicación, usaremos un “ Linuxhint_Col2 ” documentos de la colección para demostrar el funcionamiento del “ db.colección.updateOne() ' método. Para ver los documentos almacenados en esta colección, ejecute el comando provisto:





db.Linuxhint_Col2.find ( )

Producción

La salida recuperó todos los documentos almacenados en el “ Linuxhint_Col2 ' recopilación.



Ejemplo 1: actualizar un solo campo
Para actualizar el campo único en un documento, defina sus criterios de selección y actualice los criterios. Los criterios de actualización se pueden definir utilizando los operadores de actualización. Ejecutemos una consulta para actualizar el ' Modeling_Fee ” campo a “ 18000 ' donde el ' Apellido 'objeto es igual a' profundidad ” en el documento:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.Last_Name' : 'Depp' } , { $establecer : { Modeling_Fee: 18000 } } )

Producción

La salida devolvió el mensaje de éxito.

Para verificar los cambios realizados, recupere el documento afectado utilizando este ' encontrar() ' dominio:

db.Linuxhint_Col2.find ( { 'Model_Name.Last_Name' : 'Depp' } )

Producción

El resultado verificó que el documento se actualizó correctamente.

Ejemplo 2: agregar un nuevo campo usando el método “db.collection.updateOne()”
El ' db.colección.updateOne() El método ” agrega un nuevo campo usando el “ $establecer ” operador en el documento si aún no existe. como el “ Experiencia El campo ” no existe para los documentos donde el “ Modeling_Fee ' es menos que ' 9000 ”.

Agreguemos el nuevo campo “ Experiencia ” con el valor “ Principiante ” en el documento donde “ Modeling_Fee ' es menos que ' 9000 ” usando esta consulta:

db.Linuxhint_Col2.updateOne ( { 'Modeling_Fee' : { $lt : 9000 } } , { $establecer : { 'Experiencia' : 'Principiante' } } )

Producción

La salida devuelve el mensaje que indica que un documento coincide con los criterios de selección y se modificó correctamente.

Comprobémoslo recuperando todos los documentos disponibles en la colección” Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Producción

El resultado muestra que se modifica un documento que cumple la condición y se inserta correctamente un nuevo campo.

Ejemplo 3: actualizar varios campos de un documento mediante el método 'db.collection.updateOne()'
El usuario puede modificar múltiples campos incluso en un solo documento. Aquí, esta consulta que se proporciona a continuación modificará el apellido y la edad del documento donde se encuentra el ' Nombre de pila ” es igual a “ Noé “:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Noé' } , { $establecer : { 'Model_Name.Last_Name' : 'Gama' , 'Modelo_Edad' : 23 } } )

Producción

La consulta se ha ejecutado sin ningún error.

Para verificar los cambios, utilice el método 'find()' para recuperar el documento donde se encuentra el ' Nombre de pila ” es igual a “ Noé :

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Noé' } )

Producción

La salida devolvió el documento modificado con éxito.

Ejemplo 4: Usar el método “db.collection.updateOne()” con operadores de actualización
Como en el ejemplo anterior, usamos el “ $establecer Operador de actualización para modificar los valores en el ' db.colección.updateOne() ' método. Intentemos usar otro operador de actualización “ $inc ” que incrementa el campo con la cantidad especificada.

Aquí, en la consulta proporcionada a continuación, el método busca el documento donde se encuentra el ' Nombre de pila ” es igual a “ Kate ” y agrega “ 1000 ' en el ' Modeling_Fee valor del campo ”:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Kate' } , { $inc : { Modeling_Fee: 1000 } } )

Producción

La salida devolvió un mensaje de éxito.

Para ver los cambios, utilice el botón “ encontrar() ” método para recuperar el documento afectado:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Kate' } )

Producción

La salida muestra el valor modificado de “ Modeling_Fee ”.

Ejemplo 5: agregue un nuevo documento si aún no existe usando el argumento 'upsert'
El argumento opcional se puede utilizar para cambiar el comportamiento de este método. Una de esas opciones es “ trastornar ” que agrega un nuevo documento si ningún documento ya existente cumple con los criterios de selección definidos en la consulta.

Intentemos agregar un nuevo documento definiendo los criterios de selección que no cumplen con ningún documento ya existente. Después de eso, configure algunos campos para ello y agregue la opción ' trastornar ” como “verdadero” como se muestra en el comando proporcionado a continuación:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'David' } , { $establecer : { Modeling_Fee: 10000 ,  Modelo_Edad: 23 , 'Model_Name.Last_Name' : 'Herrero' } } , { trastornar: verdadero } )

Producción

La salida mostró el mensaje reconocido como verdadero.

Por último, verifique su modificación ejecutando este comando:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'David' } )

Producción

El resultado muestra que el nuevo documento se ha agregado correctamente.

Conclusión

El ' db.colección.updateOne() El método ” en MongoDB se utiliza para actualizar el primer documento que cumple con los criterios de selección. Puede modificar uno o varios campos en un documento utilizando los operadores de actualización, como ' $establecer ' y ' $inc ”. Además, este método también acepta argumentos opcionales para cambiar el comportamiento del método, como ' trastornar ” que añade un nuevo documento en caso de que los criterios de selección no coincidan con ningún documento existente. Esta publicación ha discutido el uso de ' db.colección.updateOne() ” método en MongoDB.