MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB insertOne()


No MongoDB o db.collection.insertOne() O método insere um único documento em uma coleção.

A collection parte é o nome da coleção na qual inserir o documento.

Exemplo


Aqui está um exemplo de inserção de um documento em uma coleção chamada pets :
db.pets.insertOne( { 
    name: "Scratch", 
    type: "Cat" 
    } )

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

O db.collection.insertOne() O método retorna um documento contendo:
  • Um booleano acknowledged como true se a operação foi executada com preocupação de gravação ou false se a preocupação de gravação foi desativada.
  • Um campo insertedId com o _id valor do documento inserido.

Agora, se usarmos db.collection.find() para examinar a coleção, veremos o documento recém-adicionado.
db.pets.find().pretty()

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

Eu também usei pretty() para formatar o documento para que seja mais fácil de ler.

Nesse caso, nosso documento é o único da coleção e, portanto, apenas um documento foi devolvido.

No entanto, se a coleção fosse grande, poderíamos usar o ID (fornecido no documento de retorno quando fizemos a inserção) para restringir o resultado apenas a este documento.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()

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

E se a coleção não existir?


Se a coleção não existir, ela será criada e o documento será adicionado a ela.

Se a coleção já existir, o documento é simplesmente adicionado a ela.

Quando criei este exemplo, a coleção não existia e, portanto, a operação de inserção a criou.

O _id Campo


O _id field é um campo identificador exclusivo no MongoDB.

Você pode fornecer seu próprio _id campo no documento. Se você fizer isso, seu valor deverá ser exclusivo na coleção. Isso ocorre porque seu _id campo será usado como o identificador exclusivo do documento.

Aqui está um exemplo de como inserir um documento com seu próprio _id campo.
db.pets.insertOne( { 
    _id: 1,
    name: "Fetch", 
    type: "Dog" 
    } )

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

Agora vamos olhar para a coleção novamente.
db.pets.find()

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

Mais informações


O db.collection.insertOne() O método também aceita um writeConcern argumento, que descreve o nível de reconhecimento solicitado do MongoDB para operações de gravação.

Consulte a documentação do MongoDB para db.collection.insertOne() Para maiores informações.