MongoDB - Insertar documento

En este capítulo, aprenderemos cómo insertar documentos en la colección MongoDB.

El método insert ()

Para insertar datos en la colección de MongoDB, debe usar MongoDB's insert() o save() método.

Sintaxis

La sintaxis básica de insert() El comando es el siguiente:

>db.COLLECTION_NAME.insert(document)

Ejemplo

> db.users.insert({
... _id : ObjectId("507f191e810c19729de860ea"),
... title: "MongoDB Overview",
... description: "MongoDB is no sql database",
... by: "tutorials point",
... url: "http://www.tutorialspoint.com",
... tags: ['mongodb', 'database', 'NoSQL'],
... likes: 100
... })
WriteResult({ "nInserted" : 1 })
>

aquí mycoles el nombre de nuestra colección, como se creó en el capítulo anterior. Si la colección no existe en la base de datos, MongoDB creará esta colección y luego insertará un documento en ella.

En el documento insertado, si no especificamos el parámetro _id, MongoDB asigna un ObjectId único para este documento.

_id es un número hexadecimal de 12 bytes único para cada documento de una colección. 12 bytes se dividen de la siguiente manera:

_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)

También puede pasar una matriz de documentos al método insert () como se muestra a continuación :.

> db.createCollection("post")
> db.post.insert([
	{
		title: "MongoDB Overview",
		description: "MongoDB is no SQL database",
		by: "tutorials point",
		url: "http://www.tutorialspoint.com",
		tags: ["mongodb", "database", "NoSQL"],
		likes: 100
	},
	{
	title: "NoSQL Database",
	description: "NoSQL database doesn't have tables",
	by: "tutorials point",
	url: "http://www.tutorialspoint.com",
	tags: ["mongodb", "database", "NoSQL"],
	likes: 20,
	comments: [
		{
			user:"user1",
			message: "My first comment",
			dateCreated: new Date(2013,11,10,2,35),
			like: 0
		}
	]
}
])
BulkWriteResult({
	"writeErrors" : [ ],
	"writeConcernErrors" : [ ],
	"nInserted" : 2,
	"nUpserted" : 0,
	"nMatched" : 0,
	"nModified" : 0,
	"nRemoved" : 0,
	"upserted" : [ ]
})
>

Para insertar el documento puede utilizar db.post.save(document)además. Si no especifica_id en el documento entonces save() El método funcionará igual que insert()método. Si especifica _id, reemplazará los datos completos del documento que contiene _id como se especifica en el método save ().

El método insertOne ()

Si necesita insertar solo un documento en una colección, puede utilizar este método.

Sintaxis

La sintaxis básica del comando insert () es la siguiente:

>db.COLLECTION_NAME.insertOne(document)

Ejemplo

El siguiente ejemplo crea una nueva colección llamada empDetails e inserta un documento usando el método insertOne ().

> db.createCollection("empDetails")
{ "ok" : 1 }
> db.empDetails.insertOne(
	{
		First_Name: "Radhika",
		Last_Name: "Sharma",
		Date_Of_Birth: "1995-09-26",
		e_mail: "[email protected]",
		phone: "9848022338"
	})
{
	"acknowledged" : true,
	"insertedId" : ObjectId("5dd62b4070fb13eec3963bea")
}
>

El método insertMany ()

Puede insertar varios documentos utilizando el método insertMany (). Para este método, debe pasar una serie de documentos.

Ejemplo

El siguiente ejemplo inserta tres documentos diferentes en la colección empDetails usando el método insertMany ().

> db.empDetails.insertMany(
	[
		{
			First_Name: "Radhika",
			Last_Name: "Sharma",
			Date_Of_Birth: "1995-09-26",
			e_mail: "[email protected]",
			phone: "9000012345"
		},
		{
			First_Name: "Rachel",
			Last_Name: "Christopher",
			Date_Of_Birth: "1990-02-16",
			e_mail: "[email protected]",
			phone: "9000054321"
		},
		{
			First_Name: "Fathima",
			Last_Name: "Sheik",
			Date_Of_Birth: "1990-02-16",
			e_mail: "[email protected]",
			phone: "9000054321"
		}
	]
)
{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("5dd631f270fb13eec3963bed"),
		ObjectId("5dd631f270fb13eec3963bee"),
		ObjectId("5dd631f270fb13eec3963bef")
	]
}
>