MongoDB - Wstaw dokument

W tym rozdziale dowiemy się, jak wstawić dokument do kolekcji MongoDB.

Metoda insert ()

Aby wstawić dane do kolekcji MongoDB, musisz użyć bazy danych MongoDB insert() lub save() metoda.

Składnia

Podstawowa składnia insert() polecenie jest następujące -

>db.COLLECTION_NAME.insert(document)

Przykład

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

Tutaj mycolto nazwa naszej kolekcji, utworzona w poprzednim rozdziale. Jeśli kolekcja nie istnieje w bazie danych, MongoDB utworzy tę kolekcję, a następnie wstawi do niej dokument.

We wstawionym dokumencie, jeśli nie określimy parametru _id, wówczas MongoDB przypisuje unikatowy ObjectId dla tego dokumentu.

_id to 12-bajtowa liczba szesnastkowa, unikalna dla każdego dokumentu w kolekcji. 12 bajtów jest podzielonych w następujący sposób -

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

Możesz również przekazać tablicę dokumentów do metody insert (), jak pokazano poniżej:

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

Aby wstawić dokument, możesz użyć db.post.save(document)również. Jeśli nie określisz_id w dokumencie save() metoda będzie działać tak samo jak insert()metoda. Jeśli określisz _id, zastąpi on całe dane dokumentu zawierającego _id, jak określono w metodzie save ().

Metoda insertOne ()

Jeśli chcesz wstawić tylko jeden dokument do kolekcji, możesz użyć tej metody.

Składnia

Podstawowa składnia polecenia insert () jest następująca -

>db.COLLECTION_NAME.insertOne(document)

Przykład

Poniższy przykład tworzy nową kolekcję o nazwie empDetails i wstawia dokument przy użyciu metody 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")
}
>

Metoda insertMany ()

Możesz wstawić wiele dokumentów za pomocą metody insertMany (). Do tej metody musisz przekazać tablicę dokumentów.

Przykład

Poniższy przykład wstawia trzy różne dokumenty do kolekcji empDetails przy użyciu metody 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")
	]
}
>