Node.js Query MongoDB
Filtra il risultato
Quando si trovano documenti in una raccolta, è possibile filtrare il risultato utilizzando un oggetto query.
Il primo argomento del find()
metodo è un oggetto query e viene utilizzato per limitare la ricerca.
Esempio
Trova i documenti con l'indirizzo "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();
});
});
Salva il codice sopra in un file chiamato "demo_mongodb_query.js" ed esegui il file:
Esegui "demo_mongodb_query.js"
C:\Users\Your Name>node demo_mongodb_query.js
Che ti darà questo risultato:
[
{ _id: 58fdbf5c0ef8a50b4cdd9a8e
, name: 'Ben', address: 'Park Lane 38' }
]
Filtra con espressioni regolari
Puoi scrivere espressioni regolari per trovare esattamente ciò che stai cercando.
Le espressioni regolari possono essere utilizzate solo per interrogare le stringhe .
Per trovare solo i documenti in cui il campo "indirizzo" inizia con la lettera "S", utilizzare l'espressione regolare /^S/
:
Esempio
Trova i documenti in cui l'indirizzo inizia con la lettera "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();
});
});
Salva il codice sopra in un file chiamato "demo_mongodb_query_s.js" ed esegui il file:
Esegui "demo_mongodb_query_s.js"
C:\Users\Your Name>node demo_mongodb_query_s.js
Che ti darà questo risultato:
[
{ _id:
58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard',
address: 'Sky st 331' },
{ _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway
1633' }
]