Adicionando Dados ao MongoDB - Node.js
No tema anterior, abordamos alguns conceitos básicos sobre o MongoDB. Agora, vamos detalhar como adicionar e recuperar dados do banco de dados.
Para adicionar dados, podemos usar diversos métodos. Se precisamos adicionar um único objeto, utilizamos o método insertOne()
insertMany()
Adicionando um Objeto
Para adicionar um único objeto, utilizamos o método insertOne()
const MongoClient = require("mongodb").MongoClient;
const url = "mongodb://127.0.0.1:27017/";
const mongoClient = new MongoClient(url);
async function run() {
try {
await mongoClient.connect();
const db = mongoClient.db("usersdb");
const collection = db.collection("users");
const user = {name: "Tom", age: 28};
const result = await collection.insertOne(user);
console.log(result);
console.log(user);
} catch(err) {
console.log(err);
} finally {
await mongoClient.close();
}
}
run().catch(console.error);
No exemplo acima, criamos um objeto chamado user
name
age
users
O método insertOne()
Resultado da execução do programa:
c:\node\mongoapp>node app { acknowledged: true, insertedId: new ObjectId("6112a80ca8a25160d53d161a") } {name: "Tom", age: 28, _id: new ObjectId("6112a80ca8a25160d53d161a")}
Podemos ver o resultado da operação, em particular, o identificador do objeto adicionado através da propriedade result.insertedId
user
_id
Adicionando Vários Documentos
Agora, vamos utilizar o método insertMany()
app.js
const MongoClient = require("mongodb").MongoClient;
const url = "mongodb://127.0.0.1:27017/";
const mongoClient = new MongoClient(url);
const users = [
{name: "Bob", age: 35},
{name: "Alice", age: 21},
{name: "Tom", age: 45}
];
async function run() {
try {
await mongoClient.connect();
const db = mongoClient.db("usersdb");
const collection = db.collection("users");
const results = await collection.insertMany(users);
console.log(results);
console.log(users);
} catch(err) {
console.log(err);
} finally {
await mongoClient.close();
}
}
run().catch(console.error);
Assim como o insertOne
insertMany()
users
_id
Vamos executar a aplicação:
c:\node\mongoapp>node app { acknowledged: true, insertedCount: 3, insertedIds: { '0': new ObjectId("6377874e1e1a085c14fcd12f"), '1': new ObjectId("6377874e1e1a085c14fcd130"), '2': new ObjectId("6377874e1e1a085c14fcd131") } } [ { name: 'Bob', age: 35, _id: new ObjectId("6377874e1e1a085c14fcd12f") }, { name: 'Alice', age: 21, _id: new ObjectId("6377874e1e1a085c14fcd130") }, { name: 'Tom', age: 45, _id: new ObjectId("6377874e1e1a085c14fcd131") } ]
O objeto de resultado na propriedade insertedCount
insertedIds