Este capítulo apresenta como inserir dados de documentos no MongoDB usando o shell do mongo.
Inserindo um Único Documento
O método db.collection.insertOne()
é usado para inserir um único documento em uma coleção.
Se o documento não especificar o campo _id
, o MongoDB irá gerar automaticamente um ObjectId
exclusivo para o campo _id
.
Nota:
ObjectId
é um gerador de ID exclusivo integrado ao MongoDB usado para geração de IDs.
Exemplo: Inserir um documento na coleção inventory:
db.inventory.insertOne(
{ item: "canvas", qty: 100, tags: ["algodão"], size: { h: 28, w: 35.5, uom: "cm" } }
)
Retorna:
{
"acknowledged" : true,
"insertedId" : ObjectId("609bf11dfc901345cafc438a")
}
Se a inserção for bem-sucedida, ele retorna a chave primária. O campo insertedId
é o ID exclusivo gerado automaticamente pelo MongoDB. Se a coleção inventory não existir, ela será criada automaticamente.
Consulte os dados do documento inserido:
> db.inventory.find( { item: "canvas" } )
{ "_id" : ObjectId("609bf11dfc901345cafc438a"), "item" : "canvas", "qty" : 100, "tags" : [ "algodão" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }
Usando o método find
, insira a condição de consulta para encontrar os dados do documento onde item
é "canvas".
Inserindo Múltiplos Documentos
O método db.collection.insertMany()
pode inserir vários documentos em uma coleção.
Exemplo:
Inserir três dados de documentos passando um array para o método insertMany
:
db.inventory.insertMany([
{ item: "journal", qty: 25, tags: ["em branco", "vermelho"], size: { h: 14, w: 21, uom: "cm" } },
{ item: "tapete", qty: 85, tags: ["cinza"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "mousepad", qty: 25, tags: ["gel", "azul"], size: { h: 19, w: 22.85, uom: "cm" } }
])
Valor de retorno:
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("609bf30ffc901345cafc438b"),
ObjectId("609bf30ffc901345cafc438c"),
ObjectId("609bf30ffc901345cafc438d")
]
}
Retorna os IDs dos três novos documentos inseridos.
Comportamento da Inserção
Criação da Coleção
No MongoDB, não é necessário criar uma coleção antecipadamente. Ao inserir dados pela primeira vez, se a coleção não existir, ela é criada automaticamente.
Campo _id
No MongoDB, todo documento armazenado em uma coleção tem um campo _id
único atuando como chave primária. Se o documento inserido omitir o campo _id
, o driver do MongoDB gera automaticamente um ObjectId
para o campo _id
.
Atomicidade
Todas as operações de escrita no MongoDB são operações atômicas no nível do documento único.