Tham số đầu tiên của phương thức findOne[]
là một đối tượng truy vấn. Trong ví dụ này, chúng tôi sử dụng một đối tượng truy vấn trống, đối tượng này chọn tất cả tài liệu trong bộ sưu tập [nhưng chỉ trả về tài liệu đầu tiên]
Ví dụ
Tìm tài liệu đầu tiên trong bộ sưu tập khách hàng
var MongoClient = require['mongodb']. MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";
MongoClient. connect[url, function[err, db] {
if [err] throw err;
var dbo = db. db["mydb"];
dbo. bộ sưu tập ["khách hàng"]. findOne[{}, function[err, result] {
if [err] throw err;
bảng điều khiển. nhật ký [kết quả. name];
db. close[];
}];
}];
Lưu mã ở trên vào tệp có tên "demo_mongodb_findone. js" và chạy tệp
Chạy "demo_mongodb_findone. js"
C. \Users\Tên của bạn>nút demo_mongodb_findone. js
Cái nào sẽ cho bạn kết quả này
Tìm tất cả
Để chọn dữ liệu từ một bảng trong MongoDB, chúng ta cũng có thể sử dụng phương thức find[]
Phương thức find[]
trả về tất cả các lần xuất hiện trong vùng chọn
Tham số đầu tiên của phương thức find[]
là một đối tượng truy vấn. Trong ví dụ này, chúng tôi sử dụng một đối tượng truy vấn trống để chọn tất cả các tài liệu trong bộ sưu tập
Không có tham số nào trong phương thức find[] cho bạn kết quả giống như SELECT * trong MySQL
Ví dụ
Tìm tất cả các tài liệu trong bộ sưu tập khách hàng
var MongoClient = require['mongodb']. MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";
MongoClient. connect[url, function[err, db] {
if [err] throw err;
var dbo = db. db["mydb"];
dbo. bộ sưu tập ["khách hàng"]. tìm thấy[{}]. toArray[function[err, result] {
if [err] throw err;
bảng điều khiển. log[kết quả];
db. close[];
}];
}];
Lưu mã ở trên vào tệp có tên "demo_mongodb_find. js" và chạy tệp
Chạy "demo_mongodb_find. js"
C. \Users\Tên của bạn>nút demo_mongodb_find. js
Cái nào sẽ cho bạn kết quả này
[
{ _id. 58fdbf5c0ef8a50b4cdd9a84 , tên. 'John', địa chỉ. 'Quốc lộ 71'},
{ _id. 58fdbf5c0ef8a50b4cdd9a85 , tên. 'Peter', địa chỉ. 'Lowstreet 4'},
{ _id. 58fdbf5c0ef8a50b4cdd9a86 , tên. 'Amy', địa chỉ. 'Apple st 652'},
{ _id. 58fdbf5c0ef8a50b4cdd9a87 , tên. 'Hannah', địa chỉ. 'Núi 21'},
{ _id. 58fdbf5c0ef8a50b4cdd9a88 , tên. 'Michael', địa chỉ. 'Thung lũng 345'},
{ _id. 58fdbf5c0ef8a50b4cdd9a89 , tên. 'Sandy', địa chỉ. 'Ocean blvd 2'},
{ _id. 58fdbf5c0ef8a50b4cdd9a8a , tên. 'Betty', địa chỉ. 'Green Grass 1'},
{ _id. 58fdbf5c0ef8a50b4cdd9a8b , tên. 'Richard', địa chỉ. 'Sky st 331'},
{ _id. 58fdbf5c0ef8a50b4cdd9a8c , tên. 'Susan', địa chỉ. 'Một chiều 98'},
{ _id. 58fdbf5c0ef8a50b4cdd9a8d , tên. 'Vicky', địa chỉ. 'Khu vườn màu vàng 2'},
{ _id. 58fdbf5c0ef8a50b4cdd9a8e , tên. 'Ben', địa chỉ. 'Công viên ngõ 38'},
{ _id. 58fdbf5c0ef8a50b4cdd9a8f , tên. 'William', địa chỉ. 'Trung tâm đường 954'},
{ _id. 58fdbf5c0ef8a50b4cdd9a90 , tên. 'Chuck', địa chỉ. 'Main Road 989'},
{ _id. 58fdbf5c0ef8a50b4cdd9a91 , tên. 'Viola', địa chỉ. 'Đi ngang 1633'}
]
tìm một số
Tham số thứ hai của phương thức find[]
là đối tượng projection
mô tả trường nào sẽ được đưa vào kết quả
Tham số này là tùy chọn và nếu bỏ qua, tất cả các trường sẽ được đưa vào kết quả
Ví dụ
Trả về các trường "tên" và "địa chỉ" của tất cả các tài liệu trong bộ sưu tập khách hàng
var MongoClient = require['mongodb']. MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";
MongoClient. connect[url, function[err, db] {
if [err] throw err;
var dbo = db. db["mydb"];
dbo. bộ sưu tập ["khách hàng"]. tìm [{}, { phép chiếu. { _Tôi. 0, tên. 1, địa chỉ. 1 } }]. toArray[function[err, result] {
if [err] throw err;
bảng điều khiển. log[kết quả];
db. close[];
}];
}];
Lưu mã ở trên vào tệp có tên "demo_mongodb_find_fields. js" và chạy tệp
Chạy "demo_mongodb_find_fields. js"
C. \Users\Tên của bạn>nút demo_mongodb_find_fields. js
Cái nào sẽ cho bạn kết quả này
[
{ name. 'John', địa chỉ. 'Quốc lộ 71'},
{ name. 'Peter', địa chỉ. 'Lowstreet 4'},
{ name. 'Amy', địa chỉ. 'Apple st 652'},
{ name. 'Hannah', địa chỉ. 'Núi 21'},
{ name. 'Michael', địa chỉ. 'Thung lũng 345'},
{ name. 'Sandy', địa chỉ. 'Ocean blvd 2'},
{ name. 'Betty', địa chỉ. 'Green Grass 1'},
{ name. 'Richard', địa chỉ. 'Sky st 331'},
{ name. 'Susan', địa chỉ. 'Một chiều 98'},
{ name. 'Vicky', địa chỉ. 'Khu vườn vàng 2'},
{ name. 'Ben', địa chỉ. 'Công viên ngõ 38'},
{ name. 'William', địa chỉ. 'Trung tâm đường 954'},
{ name. 'Chuck', địa chỉ. 'Main Road 989'},
{ name. 'Viola', địa chỉ. 'Đi ngang 1633'}
]
Bạn không được phép chỉ định cả hai giá trị 0 và 1 trong cùng một đối tượng [trừ khi một trong các trường là trường _id]. Nếu bạn chỉ định một trường có giá trị 0, tất cả các trường khác sẽ nhận giá trị 1 và ngược lại
Ví dụ
Ví dụ này sẽ loại trừ "địa chỉ" khỏi kết quả
var MongoClient = require['mongodb']. MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";
MongoClient. connect[url, function[err, db] {
if [err] throw err;
var dbo = db. db["mydb"];
dbo. bộ sưu tập ["khách hàng"]. tìm [{}, { phép chiếu. { Địa chỉ. 0 } }]. toArray[function[err, result] {
if [err] throw err;
bảng điều khiển. log[kết quả];
db. close[];
}];
}];
Để loại trừ trường _id, bạn phải đặt giá trị của nó thành 0
Ví dụ
Ví dụ này sẽ chỉ trả về trường "tên"
var MongoClient = require['mongodb']. MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";
MongoClient. connect[url, function[err, db] {
if [err] throw err;
var dbo = db. db["mydb"];
dbo. bộ sưu tập ["khách hàng"]. tìm [{}, { phép chiếu. { _Tôi. 0, tên. 1 } }]. toArray[function[err, result] {
if [err] throw err;
bảng điều khiển. log[kết quả];
db. close[];
}];
}];
Ví dụ
Ví dụ này sẽ cho bạn kết quả giống như ví dụ đầu tiên;
var MongoClient = require['mongodb']. MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";
MongoClient. connect[url, function[err, db] {
if [err] throw err;
var dbo = db. db["mydb"];
dbo. bộ sưu tập ["khách hàng"]. tìm [{}, { phép chiếu. { _Tôi. 0 } }]. toArray[function[err, result] {
if [err] throw err;
bảng điều khiển. log[kết quả];
db. close[];
}];
}];
Ví dụ
Bạn gặp lỗi nếu chỉ định cả hai giá trị 0 và 1 trong cùng một đối tượng [ngoại trừ nếu một trong các trường là trường _id]
var MongoClient = require['mongodb']. MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";
MongoClient. connect[url, function[err, db] {
if [err] throw err;
var dbo = db. db["mydb"];
dbo. bộ sưu tập ["khách hàng"]. tìm [{}, { phép chiếu. { Tên. 1, địa chỉ. 0 } }]. toArray[function[err, result] {
if [err] throw err;
bảng điều khiển. log[kết quả];
db. close[];
}];
}];
đối tượng kết quả
Như bạn có thể thấy từ kết quả của ví dụ trên, kết quả có thể được chuyển đổi thành một mảng chứa mỗi tài liệu dưới dạng một đối tượng
để trả lại e. g. địa chỉ của tài liệu thứ ba, chỉ cần tham khảo thuộc tính địa chỉ của đối tượng mảng thứ ba