sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB insertOne()

En MongoDB el db.collection.insertOne() El método inserta un solo documento en una colección.

La collection part es el nombre de la colección en la que insertar el documento.

Ejemplo

Aquí hay un ejemplo de cómo insertar un documento en una colección llamada pets :

db.pets.insertOne( { 
    name: "Scratch", 
    type: "Cat" 
    } )

Resultado:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("5fe2d15637b49e0faf1af214")
}

db.collection.insertOne() método devuelve un documento que contiene:

  • Un acknowledged como true si la operación se ejecutó con problemas de escritura o false si el problema de escritura estaba deshabilitado.
  • Un campo insertedId con el _id valor del documento insertado.

Ahora si usamos db.collection.find() al mirar la colección, veremos el documento recién agregado.

db.pets.find().pretty()

Resultado:

{
	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
	"name" : "Scratch",
	"type" : "Cat"
}

También usé pretty() para formatear el documento para que sea más fácil de leer.

En este caso, nuestro documento es el único de la colección, por lo que solo se devolvió un documento.

Sin embargo, si la colección era grande, podríamos usar la identificación (proporcionada en el documento de devolución cuando hicimos la inserción) para limitar el resultado a solo este documento.

db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()

Resultado:

{
	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
	"name" : "Scratch",
	"type" : "Cat"
}

¿Qué sucede si la colección no existe?

Si la colección no existe, se crea y se le agrega el documento.

Si la colección ya existe, simplemente se le agrega el documento.

Cuando creé este ejemplo, la colección no existía, por lo que la operación de inserción la creó.

El _id Campo

El _id field es un campo de identificador único en MongoDB.

Puede proporcionar su propio _id campo en el documento. Si lo hace, entonces su valor debe ser único dentro de la colección. Esto se debe a que su _id se usará como el identificador único del documento.

Aquí hay un ejemplo de cómo insertar un documento con su propio _id campo.

db.pets.insertOne( { 
    _id: 1,
    name: "Fetch", 
    type: "Dog" 
    } )

Resultado:

{ "acknowledged" : true, "insertedId" : 1 }

Ahora echemos un vistazo a la colección de nuevo.

db.pets.find()

Resultado:

{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
{ "_id" : 1, "name" : "Fetch", "type" : "Dog" }

Más información

db.collection.insertOne() El método también acepta un writeConcern argumento, que describe el nivel de reconocimiento solicitado de MongoDB para operaciones de escritura.

Consulte la documentación de MongoDB para db.collection.insertOne() para más información.