Node.js MongoDB 查詢
過濾結果
在查詢集合中的文件時,您可以使用查詢物件來過濾結果。
find()
方法的第一個引數是查詢物件,用於限制搜尋範圍。
示例
查詢地址為“Park Lane 38”的文件
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://: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();
});
});
執行示例 »
將上面的程式碼儲存在一個名為“demo_mongodb_query.js”的檔案中,然後執行該檔案
執行“demo_mongodb_query.js”
C:\Users\Your Name>node demo_mongodb_query.js
這將產生以下結果:
[
{ _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38' }
]
使用正則表示式過濾
您可以使用正則表示式來精確查詢您要搜尋的內容。
正則表示式只能用於查詢字串。
要查詢“address”欄位以字母“S”開頭的文件,請使用正則表示式 /^S/
示例
查詢地址以字母“S”開頭的文件
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://: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();
});
});
執行示例 »
將上面的程式碼儲存在一個名為“demo_mongodb_query_s.js”的檔案中,然後執行該檔案
執行“demo_mongodb_query_s.js”
C:\Users\Your Name>node demo_mongodb_query_s.js
這將產生以下結果:
[
{ _id: 58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard', address: 'Sky st 331' },
{ _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway 1633' }
]