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

Inserção de Documentos MongoDB

Tutorial Avançado do MongoDB

Método insert()

neste capítulo, vamos aprender como inserir documentos em uma coleção do MongoDB.método insert() Para inserir dados em uma coleção do MongoDB, você precisa usar o oumétodo save()

Sintaxe

método insert()A sintaxe básica do comando é a seguinte-

> db.COLLECTION_NAME.insert(document)

Exemplo Online

> db.users.insert({
... _id : ObjectId("507f191e810c19729860ea
... title: "Visão Geral do MongoDB",
... description: "MongoDB é um banco de dados não sql",
... by: "Tutorial Básico",
... url: "https://pt.oldtoolbag.com",
... tags: ['mongodb', 'database', 'NoSQL'],
... likes: 100
... })
WriteResult({ "nInserted": 1 })
>

Este é o nome da coleção que criamos no capítulo anterior mycol . Se a coleção não existir no banco de dados, o MongoDB criará essa coleção e inserirá o documento nele.

No documento inserido, se o parâmetro _id não for especificado, o MongoDB atribuirá um ObjectId único para esse documento.

_id é12Os números hexadecimais dos bytes, para cada documento na coleção, são únicos.12Os bytes são divididos da seguinte forma:

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

Também é possível passar um array de documentos para o método insert(), conforme exemplo a seguir:

> db.createCollection("post")
> db.post.insert([
	{
		title: "Visão Geral do MongoDB",
		description: "MongoDB não é um banco de dados SQL",
		por: "Manual Básico"
		url: "http://pt.oldtoolbag.com",
		tags: ["mongodb", "database", "NoSQL"],
		gostos: 100
	}
	{
	título: "Banco de Dados NoSQL"
	descrição: "Bancos de dados NoSQL não têm tabelas",
	por: "Manual Básico"
	url: "http://pt.oldtoolbag.com",
	tags: ["mongodb", "database", "NoSQL"],
	gostos: 20,
	comentários: [
		{
			usuário: "user"1",
			mensagem: "Meu primeiro comentário",
			dataCreated: new Date(2013,11,10,2,35,
			como: 0
		}
	]
}
})
BulkWriteResult({
	"writeErrors": [],
	"writeConcernErrors": [],
	"nInserted": 2,
	"nUpserted": 0,
	"nMatched": 0,
	"nModified": 0,
	"nRemoved": 0,
	"upserted": [],
})
>

Para inserir um documento, você também pode usardb.post.save(document). Se você não especificar _identão método save()comMétodo insert()Idêntico. Se você especificar _id, ele substituirá o documento inteiro especificado no método save() que contém _id.

Método insertOne()

Se você precisar inserir apenas um documento na coleção, você pode usar este método.

Sintaxe

A sintaxe básica do comando insertOne() é a seguinte:

> db.COLLECTION_NAME.insertOne(document)

Exemplo

A seguir, este exemplo cria uma nova coleção chamada empDetails e usa o método insertOne() para inserir um documento.

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

Método insertMany()

Você pode usar o método insertMany() para inserir múltiplos documentos. Para este método, você precisa passar um array de documentos.

Exemplo

A seguir, este exemplo utiliza o método insertMany() para inserir três documentos diferentes na coleção 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")
	]
}
>