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