Consulta Node.js MongoDB
Filtrar el resultado
Al buscar documentos en una colección, puede filtrar el resultado utilizando un objeto de consulta.
El primer argumento del find()
método es un objeto de consulta y se utiliza para limitar la búsqueda.
Ejemplo
Encuentre documentos con la dirección "Park Lane 38":
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var query = { address: "Park Lane 38" };
dbo.collection("customers").find(query).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
Guarde el código anterior en un archivo llamado "demo_mongodb_query.js" y ejecute el archivo:
Ejecute "demo_mongodb_query.js"
C:\Users\Your Name>node demo_mongodb_query.js
Lo que te dará este resultado:
[
{ _id: 58fdbf5c0ef8a50b4cdd9a8e
, name: 'Ben', address: 'Park Lane 38' }
]
Filtrar con expresiones regulares
Puede escribir expresiones regulares para encontrar exactamente lo que está buscando.
Las expresiones regulares solo se pueden usar para consultar cadenas .
Para encontrar solo los documentos donde el campo "dirección" comienza con la letra "S", use la expresión regular /^S/
:
Ejemplo
Encuentre documentos donde la dirección comience con la letra "S":
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var query = { address: /^S/ };
dbo.collection("customers").find(query).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
Guarde el código anterior en un archivo llamado "demo_mongodb_query_s.js" y ejecute el archivo:
Ejecute "demo_mongodb_query_s.js"
C:\Users\Your Name>node demo_mongodb_query_s.js
Lo que te dará este resultado:
[
{ _id:
58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard',
address: 'Sky st 331' },
{ _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway
1633' }
]