Zapytanie Node.js MongoDB
Filtruj wynik
Podczas znajdowania dokumentów w kolekcji można filtrować wyniki przy użyciu obiektu zapytania.
Pierwszym argumentem find()
metody jest obiekt zapytania i służy do ograniczania wyszukiwania.
Przykład
Znajdź dokumenty z adresem „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();
});
});
Zapisz powyższy kod w pliku o nazwie „demo_mongodb_query.js” i uruchom plik:
Uruchom „demo_mongodb_query.js”
C:\Users\Your Name>node demo_mongodb_query.js
Co da ci ten wynik:
[
{ _id: 58fdbf5c0ef8a50b4cdd9a8e
, name: 'Ben', address: 'Park Lane 38' }
]
Filtruj za pomocą wyrażeń regularnych
Możesz pisać wyrażenia regularne, aby znaleźć dokładnie to, czego szukasz.
Wyrażeń regularnych można używać tylko do zapytań o ciągi znaków .
Aby znaleźć tylko te dokumenty, w których pole „adres” zaczyna się na literę „S”, użyj wyrażenia regularnego /^S/
:
Przykład
Znajdź dokumenty, których adres zaczyna się na literę „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();
});
});
Zapisz powyższy kod w pliku o nazwie „demo_mongodb_query_s.js” i uruchom plik:
Uruchom „demo_mongodb_query_s.js”
C:\Users\Your Name>node demo_mongodb_query_s.js
Co da ci ten wynik:
[
{ _id:
58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard',
address: 'Sky st 331' },
{ _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway
1633' }
]