Node.js Requête MongoDB


Filtrer le résultat

Lors de la recherche de documents dans une collection, vous pouvez filtrer le résultat à l'aide d'un objet de requête.

Le premier argument de la find()méthode est un objet de requête et est utilisé pour limiter la recherche.

Exemple

Trouver des documents avec l'adresse "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();
  });
});

Enregistrez le code ci-dessus dans un fichier appelé "demo_mongodb_query.js" et exécutez le fichier :

Exécutez "demo_mongodb_query.js"

C:\Users\Your Name>node demo_mongodb_query.js

Ce qui vous donnera ce résultat :

[
  { _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38' }
]


Filtrer avec des expressions régulières

Vous pouvez écrire des expressions régulières pour trouver exactement ce que vous recherchez.

Les expressions régulières ne peuvent être utilisées que pour interroger des chaînes .

Pour rechercher uniquement les documents dont le champ "adresse" commence par la lettre "S", utilisez l'expression régulière /^S/:

Exemple

Rechercher des documents dont l'adresse commence par la lettre "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();
  });
});

Enregistrez le code ci-dessus dans un fichier appelé "demo_mongodb_query_s.js" et exécutez le fichier :

Exécutez "demo_mongodb_query_s.js"

C:\Users\Your Name>node demo_mongodb_query_s.js

Ce qui vous donnera ce résultat :

[
  { _id: 58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard', address: 'Sky st 331' },
  { _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway 1633' }
]