Hướng dẫn how to read data from mongodb in javascript - cách đọc dữ liệu từ mongodb trong javascript

Tài liệu về nhà → node.jsNode.js

Bạn có thể sử dụng các hoạt động đọc để truy xuất dữ liệu từ cơ sở dữ liệu MongoDB của bạn. Có nhiều loại hoạt động đọc truy cập dữ liệu theo các cách khác nhau. Nếu bạn muốn yêu cầu kết quả dựa trên một tập hợp các tiêu chí từ bộ dữ liệu hiện có, bạn có thể sử dụng một thao tác tìm kiếm như các phương thức find() hoặc findOne().

Bạn cũng có thể chỉ định thêm thông tin bạn đang yêu cầu bằng cách bao gồm các tham số bổ sung hoặc bằng cách chuỗi các phương thức khác như:

  • Sắp xếp kết quả

  • Bỏ qua kết quả trả về

  • Giới hạn số lượng kết quả trả lại

  • Chỉ định các trường nào để trả về

Bạn cũng có thể sử dụng một hoạt động tổng hợp để truy xuất dữ liệu. Loại hoạt động này cho phép bạn áp dụng một đường ống biến đổi theo thứ tự cho dữ liệu phù hợp.

Nếu bạn muốn theo dõi cơ sở dữ liệu cho dữ liệu đến phù hợp với một tập hợp các tiêu chí, bạn có thể sử dụng thao tác đồng hồ để được thông báo trong thời gian thực khi chèn dữ liệu khớp.

Ghi chú

Hoạt động truy vấn của bạn có thể trả về một tham chiếu đến một con trỏ chứa các tài liệu phù hợp. Để tìm hiểu cách kiểm tra dữ liệu được lưu trữ trong con trỏ, hãy xem trang Nguyên tắc cơ bản con trỏ.

Phương thức find() được gọi trên đối tượng

await cursor.forEach(console.dir);

0 tham chiếu bộ sưu tập bạn muốn truy vấn. Phương thức chấp nhận một tài liệu truy vấn mô tả các tài liệu bạn muốn truy xuất. Để biết thêm thông tin về cách chỉ định tài liệu truy vấn của bạn, hãy xem hướng dẫn của chúng tôi về cách chỉ định truy vấn.

Nếu bạn giải quyết

await cursor.forEach(console.dir);

1 được trả về bởi find(), bạn sẽ nhận được tham chiếu đến

await cursor.forEach(console.dir);

3 mà bạn có thể điều hướng các tài liệu phù hợp. Nếu bạn giải quyết

await cursor.forEach(console.dir);

1 được trả về bởi findOne(), bạn sẽ nhận được tài liệu phù hợp hoặc

await cursor.forEach(console.dir);

6 nếu không có trận đấu.

Thí dụ

Một nhà hàng pizza muốn tìm tất cả các pizza được đặt hàng bởi Lemony Snicket ngày hôm qua. Họ chạy truy vấn find() sau đây trên bộ sưu tập

await cursor.forEach(console.dir);

8:

const findResult = await orders.find({
name: "Lemony Snicket",
date: {
$gte: new Date(new Date().setHours(00, 00, 00)),
$lt: new Date(new Date().setHours(23, 59, 59)),
},
});

Khi hoạt động trả về, biến

await cursor.forEach(console.dir);

9 tham chiếu đến

await cursor.forEach(console.dir);

3. Bạn có thể in các tài liệu được truy xuất bằng phương pháp
[
{ name: "Lemony Snicket", type: "horseradish pizza", qty: 1, status: "delivered", date: ... },
{ name: "Lemony Snicket", type: "coal-fired oven pizza", qty: 3, status: "canceled", date: ...},
...
]
1 như được hiển thị bên dưới:

await cursor.forEach(console.dir);

Đầu ra có thể giống như sau:

[
{ name: "Lemony Snicket", type: "horseradish pizza", qty: 1, status: "delivered", date: ... },
{ name: "Lemony Snicket", type: "coal-fired oven pizza", qty: 3, status: "canceled", date: ...},
...
]

Xem Find () và FindOne () để biết các ví dụ có thể chạy hoàn toàn.

Nếu bạn muốn chạy một đường ống xử lý tùy chỉnh để truy xuất dữ liệu từ cơ sở dữ liệu của mình, bạn có thể sử dụng phương thức

[
{ name: "Lemony Snicket", type: "horseradish pizza", qty: 1, status: "delivered", date: ... },
{ name: "Lemony Snicket", type: "coal-fired oven pizza", qty: 3, status: "canceled", date: ...},
...
]
2. Phương pháp này chấp nhận các biểu thức tổng hợp để chạy theo trình tự. Các biểu thức này cho phép bạn lọc, nhóm và sắp xếp dữ liệu kết quả từ một bộ sưu tập.

Thí dụ

Một nhà hàng pizza muốn tìm tất cả các pizza được đặt hàng bởi Lemony Snicket ngày hôm qua. Họ chạy truy vấn find() sau đây trên bộ sưu tập

await cursor.forEach(console.dir);

8:

const aggregateResult = await orders.aggregate([
{
$match: {
date: {
$gte: new Date(new Date().getTime() - 1000 * 3600 * 24 * 7),
$lt: new Date(),
},
},
},
{
$group: {
_id: "$status",
count: {
$sum: 1,
},
},
},
]);

Khi hoạt động trả về, biến

await cursor.forEach(console.dir);

9 tham chiếu đến

await cursor.forEach(console.dir);

3. Bạn có thể in các tài liệu được truy xuất bằng phương pháp
[
{ name: "Lemony Snicket", type: "horseradish pizza", qty: 1, status: "delivered", date: ... },
{ name: "Lemony Snicket", type: "coal-fired oven pizza", qty: 3, status: "canceled", date: ...},
...
]
1 như được hiển thị bên dưới:

await cursor.forEach(console.dir);

Đầu ra có thể giống như sau:

[
{ _id: 'delivering', count: 5 },
{ _id: 'delivered', count: 37 },
{ _id: 'created', count: 9 }
]

Xem Find () và FindOne () để biết các ví dụ có thể chạy hoàn toàn.aggregation for more information on how to construct an aggregation pipeline.

Nếu bạn muốn chạy một đường ống xử lý tùy chỉnh để truy xuất dữ liệu từ cơ sở dữ liệu của mình, bạn có thể sử dụng phương thức

[
{ name: "Lemony Snicket", type: "horseradish pizza", qty: 1, status: "delivered", date: ... },
{ name: "Lemony Snicket", type: "coal-fired oven pizza", qty: 3, status: "canceled", date: ...},
...
]
2. Phương pháp này chấp nhận các biểu thức tổng hợp để chạy theo trình tự. Các biểu thức này cho phép bạn lọc, nhóm và sắp xếp dữ liệu kết quả từ một bộ sưu tập.

Thí dụ

Một nhà hàng pizza muốn tìm tất cả các pizza được đặt hàng bởi Lemony Snicket ngày hôm qua. Họ chạy truy vấn find() sau đây trên bộ sưu tập

await cursor.forEach(console.dir);

8:

const changeStream = orders.watch([
{ $match: { operationType: "insert" } },
{
$project: {
"fullDocument.name": 1,
"fullDocument.address": 1,
},
},
]);
changeStream.on("change", change => {
const { name, address } = change.fullDocument;
console.log(`New order for ${name} at ${address}.`);
});

Khi hoạt động trả về, biến

await cursor.forEach(console.dir);

9 tham chiếu đến

await cursor.forEach(console.dir);

3. Bạn có thể in các tài liệu được truy xuất bằng phương pháp
[
{ name: "Lemony Snicket", type: "horseradish pizza", qty: 1, status: "delivered", date: ... },
{ name: "Lemony Snicket", type: "coal-fired oven pizza", qty: 3, status: "canceled", date: ...},
...
]
1 như được hiển thị bên dưới:

JavaScript có thể truy cập MongoDB không?

Trình điều khiển JS cho phép bạn dễ dàng tương tác với cơ sở dữ liệu MongoDB từ bên trong các ứng dụng Node.js.Bạn sẽ cần trình điều khiển để kết nối với cơ sở dữ liệu của bạn và thực hiện các truy vấn được mô tả trong chuỗi khởi động nhanh này. js applications. You'll need the driver in order to connect to your database and execute the queries described in this Quick Start series.

Làm thế nào nhận được dữ liệu từ MongoDB đến HTML?

Bạn phải làm theo các bước dưới đây để hiển thị dữ liệu MongoDB trên trang HTML:..
Tạo ứng dụng Node Express JS ..
Cài đặt Express Flash EJS Body-Parser Mongoose phụ thuộc ..
Kết nối ứng dụng với MongoDB ..
Tạo mô hình ..
Tạo các tuyến đường ..
Tạo bảng HTML và danh sách hiển thị ..
Nhập các mô -đun trong ứng dụng.JS ..
Bắt đầu máy chủ ứng dụng ..