Obtendo Dados no MongoDB - Node.js
Método find
Para obter dados de uma coleção, utilizamos o método find()
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 results = await collection.find().toArray();
console.log(results);
} catch (err) {
console.log(err);
} finally {
await mongoClient.close();
}
}
run().catch(console.error);
O método find
FindCursor
toArray()
c:\node\mongoapp>node app [ { _id: new ObjectId("6112a80ca8a25160d53d161a"), name: "Tom", age: 23 }, { _id: new ObjectId("6112a80873c40dedd6d837c"), name: "Bob", age: 35 }, { _id: new ObjectId("6112a80873c40dedd6d837d"), name: "Alice", age: 21 }, { _id: new ObjectId("6112a80873c40dedd6d837e"), name: "Tom", age: 45 } ]
Filtrando Documentos
Podemos usar o método find()
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 results = await collection.find({ name: "Tom" }).toArray();
console.log(results);
} catch (err) {
console.log(err);
} finally {
await mongoClient.close();
}
}
run().catch(console.error);
Como parâmetro, passamos um objeto para o método find
name
c:\node\mongoapp>node app [ { _id: new ObjectId("6112a80ca8a25160d53d161a"), name: "Tom", age: 23 }, { _id: new ObjectId("6112a80873c40dedd6d837e"), name: "Tom", age: 45 } ]
Filtrando por Múltiplos Critérios
Podemos adicionar critérios adicionais de filtro, como filtrar também pela idade:
const results = await collection.find({ name: "Tom", age: 28 }).toArray();
console.log(results);
Obtendo um Único Objeto com o Método findOne
O método findOne()
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 result = await collection.findOne({ name: "Tom" });
console.log(result);
} catch (err) {
console.log(err);
} finally {
await mongoClient.close();
}
}
run().catch(console.error);