English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Inserimento di documenti MongoDB

In questa sezione, impareremo come inserire documenti in una raccolta MongoDB.

Metodo insert()

Per inserire dati nella raccolta MongoDB, è necessario utilizzare MongoDB'sinsert() o save()metodo.}

Sintassi

insert()La sintassi di base del comando è la seguente-

> db.COLLECTION_NAME.insert(document)

Esempio online

> db.users.insert({
... _id : ObjectId("507f191e810c19729de860ea"),
... title: "Panoramica di MongoDB",
... description: "MongoDB è un database non sql",
... by: "Manuale di base",
... url: "https://it.oldtoolbag.com",
... tags: ['mongodb', 'database', 'NoSQL'],
... likes: 100
... })
WriteResult({ "nInserted" : 1 })
>

Questo è il nome della raccolta creata nel capitolo precedente mycol . Se la raccolta non esiste nel database, MongoDB creerà questa raccolta e inserirà il documento al suo interno.

Se non viene specificato il parametro _id nel documento inserito, MongoDB assegnerà un ObjectId unico a questo documento.

_id è un numero esadecimale di 12 byte, unico per ogni documento nella raccolta. I 12 byte sono suddivisi come segue:

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

È possibile passare un array di documenti al metodo insert() come segue:

> db.createCollection("post")
> db.post.insert([
	{
		title: "Panoramica di MongoDB",
		description: "MongoDB non è un database SQL",
		by: "Manuale di base",
		url: "http://it.oldtoolbag.com",
		tags: ["mongodb", "database", "NoSQL"],
		likes: 100
	}
	{
	title: "Database NoSQL",
	description: "Le basi di dati NoSQL non hanno tabelle",
	by: "Manuale di base",
	url: "http://it.oldtoolbag.com",
	tags: ["mongodb", "database", "NoSQL"],
	likes: 20,,
	comments: [
		{
			user: "user1",
			message: "Il mio primo commento",
			dateCreated: new Date(2013,11,10,2,35)}
			like: 0
		}
	]
}
})
BulkWriteResult({
	"writeErrors": [],
	"writeConcernErrors": [],
	"nInserted": 2,
	"nUpserted": 0,
	"nMatched": 0,
	"nModified": 0,
	"nRemoved": 0,
	"upserted": [],
)
>

Puoi anche utilizzaredb.post.save(document). Se non specifichi _idse Metodo save()ConMetodo insert()Uguale. Se si specifica _id, sostituirà l'intero documento contenente _id specificato nel metodo save().

Metodo insertOne()

Se devi inserire solo un documento nella collezione, puoi utilizzare questo metodo.

Sintassi

La sintassi di base del comando insertOne() è la seguente:

> db.COLLECTION_NAME.insertOne(document)

Esempio

Esempio di creazione di una nuova collezione chiamata empDetails e di inserimento di un documento utilizzando il metodo 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")
}
>

Metodo insertMany()

Puoi utilizzare il metodo insertMany() per inserire più documenti. Per questo metodo, devi passare un array di documenti.

Esempio

Esempio di utilizzo del metodo insertMany() per inserire tre documenti diversi nella collezione empDetails.

> 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")
	]
}
>