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
comotrue
se a operação foi executada com preocupação de gravação oufalse
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.