Truy vấn Node.js MongoDB


Lọc kết quả

Khi tìm tài liệu trong một bộ sưu tập, bạn có thể lọc kết quả bằng cách sử dụng một đối tượng truy vấn.

Đối số đầu tiên của find()phương thức là một đối tượng truy vấn và được sử dụng để giới hạn tìm kiếm.

Thí dụ

Tìm tài liệu theo địa chỉ "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();
  });
});

Lưu đoạn mã trên vào tệp có tên "demo_mongodb_query.js" và chạy tệp:

Chạy "demo_mongodb_query.js"

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

Điều này sẽ cung cấp cho bạn kết quả này:

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


Lọc với các biểu thức chính quy

Bạn có thể viết biểu thức chính quy để tìm chính xác những gì bạn đang tìm kiếm.

Biểu thức chính quy chỉ có thể được sử dụng để truy vấn chuỗi .

Để chỉ tìm các tài liệu có trường "địa chỉ" bắt đầu bằng chữ "S", hãy sử dụng biểu thức chính quy /^S/:

Thí dụ

Tìm tài liệu có địa chỉ bắt đầu bằng chữ "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();
  });
});

Lưu mã ở trên vào tệp có tên "demo_mongodb_query_s.js" và chạy tệp:

Chạy "demo_mongodb_query_s.js"

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

Điều này sẽ cung cấp cho bạn kết quả này:

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