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' }
]