Hướng dẫn render data from mongodb node js - kết xuất dữ liệu từ nút mongodb js

Tìm kiếm để thêm một cơ sở dữ liệu vào dự án Node.js của bạn, nhưng không chắc chắn để bắt đầu từ đâu? Trong bài viết này, tôi sẽ đưa ra một cái nhìn tổng quan về các tiêu chí để xem xét khi chọn cơ sở dữ liệu, tùy chọn NoQuery được đề xuất và một hướng dẫn ngắn gọn.


Node.js là gì?

Node.js là môi trường thời gian chạy JavaScript nguồn mở cho phép các nhà phát triển back-end sử dụng JavaScript để tạo các ứng dụng và API phía máy chủ.

Node.js được sử dụng để làm gì?

Sử dụng Node.js cho phép các nhà phát triển Front-end của bạn [tức là React, Vue.js, ngay cả jQuery] sử dụng cùng một ngôn ngữ lập trình, javaScript, làm nhà phát triển phụ trợ của bạn. Điều này cho phép phát triển đa chức năng và nhanh nhẹn hơn. Việc sử dụng Node.js là phổ biến và liên tục, và tôi đánh giá cao nó cho sự phát triển mới.

Cơ sở dữ liệu tốt nhất cho Node.js là gì?

Hãy cùng xem nhanh một số điều bạn nên xem xét khi chọn cơ sở dữ liệu.


SQL [ví dụ: MySQL, PostgreSQL] so với NoQuery

Đối với hầu hết các ứng dụng, một số loại lưu trữ dữ liệu liên tục là bắt buộc. Theo truyền thống, điều này sẽ được xử lý bởi một cơ sở dữ liệu quan hệ như MySQL, Postgres, SQLite/SQLite3, MSSQL Server, v.v. Cơ sở dữ liệu quan hệ là lựa chọn phù hợp cho nhiều ứng dụng tùy thuộc vào trường hợp sử dụng, nhưng có một vài vấn đề bạn có thể muốn xem xét.


Thiết kế trả trước đáng kể cần thiết

Để tạo cơ sở dữ liệu trong MySQL, một mô hình dữ liệu hoặc lược đồ là bắt buộc. Tạo và thiết kế mô hình này có thể là một quy trình nhiều tuần liên quan đến việc gặp gỡ các bên liên quan, quy trình thiết kế và nhiều sửa đổi. Sau khi được tạo và điền dữ liệu, mô hình của cơ sở dữ liệu SQL có thể khó sửa đổi do các vấn đề phụ thuộc dữ liệu, do đó, thời gian thiết kế trả trước thường được yêu cầu.


Hiệu suất và quy mô

Cơ sở dữ liệu SQL ban đầu không được thiết kế để mở rộng quy mô, mà thay vào đó để có tính chất axit. Do đó, mặc dù dễ dàng mở rộng cơ sở dữ liệu SQL theo chiều dọc [ví dụ: đặt nó lên một máy chủ lớn hơn], việc mở rộng nó theo chiều ngang [nhiều máy chủ] khá khó khăn và phức tạp ngay cả ngày nay.


Những lợi ích của NoQ

Ngược lại, cơ sở dữ liệu NoQuery rất phù hợp cho các tình huống bạn cần hiệu suất cao, khả năng mở rộng theo chiều ngang và đang xử lý một lượng lớn dữ liệu không có cấu trúc. Cơ sở dữ liệu NoQuery lưu trữ dữ liệu ở các định dạng linh hoạt, ví dụ như đồ thị, khóa/giá trị và tài liệu có thể dễ dàng lưu trữ nhiều dữ liệu khác nhau. Và, vì dữ liệu không được liên kết liên quan, cơ sở dữ liệu NoQuery có thể nhanh hơn và dễ dàng hơn đáng kể để thiết kế, cập nhật và quy mô.

Có lẽ cơ sở dữ liệu NoQuery được sử dụng phổ biến nhất là MongoDB, cơ sở dữ liệu tài liệu nguồn mở. Trên thực tế, sự kết hợp giữa MongoDB cho cơ sở dữ liệu, khung Express cho phần cuối, phản ứng cho phần đầu và Node.js vì máy chủ web phổ biến đến mức nó được gọi là ngăn xếp MERN cho các ứng dụng web. Đối với mục đích của bài viết này, tôi sẽ sử dụng MongoDB làm ví dụ về cơ sở dữ liệu NoQuery.

Cách tạo cơ sở dữ liệu MongoDB bằng Node.js

Khi tạo cơ sở dữ liệu, bạn có thể chọn thiết lập nó cục bộ hoặc trên đám mây. Ví dụ: bạn có thể quay một bản cài đặt trên localhost theo cách thủ công của MongoDB bằng cách tải xuống và cài đặt MongoDB. Điều đó nói rằng, một cài đặt thủ công đi kèm với chi phí bảo trì và bảo trì liên tục. Là một nhà phát triển ứng dụng, tôi thích tránh càng nhiều công việc thủ công càng tốt, vì vậy tôi có xu hướng né tránh việc cài đặt thủ công.

Đối với các dịch vụ đám mây, có MongoDB Atlas, cung cấp dịch vụ cơ sở dữ liệu từ MongoDB. Đó là sự bất khả tri của nền tảng, cho phép bạn tạo các cụm cơ sở dữ liệu trên AWS, Azure và Google Cloud và tỷ lệ đơn giản như nhấp vào nút. Họ cũng làm cho nó dễ dàng bắt đầu, với một tầng M0 miễn phí. Tổng thời gian từ đăng ký đến việc có cơ sở dữ liệu được tạo là chưa đến năm phút đối với tôi.


Tìm kiếm một trình điều khiển được hỗ trợ chính thức

Như với bất kỳ sự tích hợp nào giữa hai công nghệ, cuộc sống được thực hiện dễ dàng hơn khi có một trình điều khiển được hỗ trợ chính thức cho giao diện. .

Trong trường hợp này, trình điều khiển nút MongoDB chính thức đến trực tiếp từ MongoDB và dễ sử dụng. Cài đặt nó trong dự án Node.js của bạn đơn giản như đang chạy lệnh sau:

npm install mongodb --save

Trình điều khiển thực hiện kết nối với cơ sở dữ liệu, xác thực, hoạt động CRUD và thậm chí ghi nhật ký/giám sát đơn giản như chạy lệnh. Trình điều khiển cũng hỗ trợ các tính năng của JavaScript Promise/Async. Điều này giúp bạn dễ dàng tương tác với dữ liệu của bạn từ ứng dụng Node.js của bạn.

Để biết thêm thông tin, hãy xem cách kết nối với cơ sở dữ liệu MongoDB hoặc tham gia lớp học trực tuyến miễn phí của họ, MongoDB cho các nhà phát triển JavaScript.

Làm thế nào để tôi bắt đầu với MongoDB?

Tự hỏi bắt đầu từ đâu? Đây là một hướng dẫn ngắn gọn để giúp bạn bắt đầu.


Cài đặt Node.js và NPM

Đầu tiên, bạn sẽ cần cài đặt Node.js. Tôi đề xuất phiên bản hỗ trợ dài hạn. Điều này cũng sẽ cài đặt NPM. NPM là Trình quản lý gói nút và nó đi cùng với Node.js để cho phép cài đặt dễ dàng của nhiều gói bên thứ ba.


Thêm trình điều khiển MongoDB Node.js

Từ dòng lệnh/thiết bị đầu cuối trong thư mục dự án của bạn, hãy chạy lệnh sau:

npm install mongodb --save

Điều này sẽ tự động tải xuống phiên bản mới nhất của trình điều khiển và lưu nó vào gói của bạn.json config.

Cách tạo và kết nối với cơ sở dữ liệu bằng Atlas MongoDB

1. Tạo tài khoản để đăng ký miễn phí cho MongoDB Atlas

2. Tiếp theo, tạo một cụm cơ sở dữ liệu trên nền tảng bạn chọn.

3. Tải dữ liệu mẫu trong các bộ sưu tập của người Viking.

4. Thiết lập kết nối và tạo người dùng cơ sở dữ liệu.

Theo mặc định, người dùng có cả quyền đọc và ghi cho bất kỳ cơ sở dữ liệu nào trong cụm. Đối với mục đích thử nghiệm, điều này là tốt; Nhưng đối với một ứng dụng sản xuất, bạn nên xem xét cẩn thận những quyền là cần thiết cho mỗi người dùng.

Đảm bảo lưu mật khẩu.

5. Tiếp theo, chọn tùy chọn Kết nối ứng dụng của bạn.

6. Sao chép mã kết nối được cung cấp trong mẫu và điền vào mật khẩu của bạn và mẫu sample_airbnb, cho tên cơ sở dữ liệu. Cú pháp như sau:

async function main[] {
  const MongoClient = require['mongodb'].MongoClient;
  const uri =
    'mongodb+srv://dbUser:@cluster0.dcu5m.mongodb.net/sample_airbnb?retryWrites=true&w=majority';
  const client = new MongoClient[uri, { useNewUrlParser: true }];
  client.connect[[err] => {
    const collection = client.db['test'].collection['devices'];
    // perform actions on the collection object
    client.close[];
  }];
}
main[].catch[console.error];

7. Giả sử bạn đã lưu điều này dưới dạng trên Mongo.js trên hệ thống tệp của bạn, hãy thử nó bằng cách chạy lệnh sau:

node mongo.js

Nếu mọi thứ hoạt động, bạn sẽ không thấy bất kỳ đầu ra nào ngoài một số tin nhắn thông tin. Hãy để đi trước và tạo ra một số đầu ra.will not see any output other than some informational messages. Let’s go ahead and create some output.

Cách hiển thị dữ liệu từ cơ sở dữ liệu Atlas MongoDB trong Node.js

Bây giờ chúng tôi đã kết nối với cơ sở dữ liệu Atlas của mình, hãy để Lừa thực hiện một chút truy vấn. Tôi đã tạo ra một chức năng findListings đơn giản để truy vấn danh sách từ cơ sở dữ liệu mẫu. Mã cho chức năng như sau:


async function findListings[client, resultsLimit] {
  const cursor = client
    .db['sample_airbnb']
    .collection['listingsAndReviews']
    .find[]
    .limit[resultsLimit];

  const results = await cursor.toArray[];
  if [results.length > 0] {
    console.log[`Found ${results.length} listing[s]:`];
    results.forEach[[result, i] => {
      date = new Date[result.last_review].toDateString[];

      console.log[];
      console.log[`${i + 1}. name: ${result.name}`];
      console.log[`   _id: ${result._id}`];
      console.log[`   bedrooms: ${result.bedrooms}`];
      console.log[`   bathrooms: ${result.bathrooms}`];
      console.log[
        `   most recent review date: ${new Date[
          result.last_review
        ].toDateString[]}`
      ];
    }];
  }
}

Đi trước và sao chép nó vào cuối tệp Mongo.js của bạn. Tiếp theo, hãy để cập nhật mã kết nối của chúng tôi để sử dụng mẫu Async và xóa cuộc gọi lại. Sau đó, hãy để Gọi chức năng truy vấn của chúng tôi như sau:


async function main[] {
  const MongoClient = require['mongodb'].MongoClient;
  const uri =
    'mongodb+srv://dbUser:@cluster0.dcu5m.mongodb.net/sample_airbnb?retryWrites=true&w=majority';
  const client = new MongoClient[uri, { useNewUrlParser: true }];

  // Connect to the client and query
  await client.connect[];
  findListings[client, 5];
  client.close[];
}

Mã đầy đủ sẽ trông như sau:

  async function main[] {
  const MongoClient = require['mongodb'].MongoClient;
  const uri =
    'mongodb+srv://dbUser:@cluster0.dcu5m.mongodb.net/sample_airbnb?retryWrites=true&w=majority';
  const client = new MongoClient[uri, { useNewUrlParser: true }];

  // Connect to the client and query
  await client.connect[];
  findListings[client, 5];
  client.close[];
}

main[].catch[console.error];

async function findListings[client, resultsLimit] {
  const cursor = client
    .db['sample_airbnb']
    .collection['listingsAndReviews']
    .find[]
    .limit[resultsLimit];

  const results = await cursor.toArray[];
  if [results.length > 0] {
    console.log[`Found ${results.length} listing[s]:`];
    results.forEach[[result, i] => {
      date = new Date[result.last_review].toDateString[];

      console.log[];
      console.log[`${i + 1}. name: ${result.name}`];
      console.log[`   _id: ${result._id}`];
      console.log[`   bedrooms: ${result.bedrooms}`];
      console.log[`   bathrooms: ${result.bathrooms}`];
      console.log[
        `   most recent review date: ${new Date[
          result.last_review
        ].toDateString[]}`
      ];
    }];
  }
}

Chạy lại Node Mongo.js và bạn sẽ thấy năm danh sách trong bảng điều khiển của mình:

Thành công! Bạn đã kết nối với, truy vấn và hiển thị dữ liệu từ cơ sở dữ liệu MongoDB của bạn. Để biết từng bước từng bước và nhiều ví dụ về mã hơn, hãy xem bài đăng này của Lauren Schaefer.

Bản tóm tắt

Trong bài viết này, tôi đã trải qua quá trình suy nghĩ của mình khi chọn cơ sở dữ liệu cho ứng dụng Node.js, thiết lập cục bộ so với đám mây, lợi ích của việc có trình điều khiển được hỗ trợ chính thức và các bước đầu tiên để thiết lập với mongDB. Mặc dù đôi khi thế giới của cơ sở dữ liệu có thể phức tạp và đáng sợ, tôi hy vọng bài viết này làm cho nó đơn giản hơn một chút cho bạn.

Làm cách nào để lấy dữ liệu từ bộ sưu tập MongoDB bằng NodeJS?

Để chọn dữ liệu từ một bộ sưu tập trong MongoDB, chúng ta có thể sử dụng phương thức findOne []. Phương thức findOne [] trả về lần xuất hiện đầu tiên trong lựa chọn. Tham số đầu tiên của phương thức findOne [] là một đối tượng truy vấn.use the findOne[] method. The findOne[] method returns the first occurrence in the selection. The first parameter of the findOne[] method is a query object.

NodeJS hiển thị dữ liệu từ MongoDB như thế nào?

Cách tìm nạp dữ liệu từ MongoDB trong Node JS và hiển thị trong HTML [EJS]..
Bước 1 - Tạo ứng dụng Node Express JS ..
Bước 2-Cài đặt Express Flash EJS Body-Parser Mongoose phụ thuộc ..
Bước 3 - Kết nối ứng dụng với MongoDB ..
Bước 4 - Tạo mô hình ..
Bước 5 - Tạo các tuyến đường ..
Bước 6 - Tạo bảng HTML và danh sách hiển thị ..

Làm thế nào tìm nạp dữ liệu từ MongoDB?

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 [].use read operations to retrieve data from your MongoDB database. There are multiple types of read operations that access the data in different ways. If you want to request results based on a set of criteria from the existing set of data, you can use a find operation such as the find[] or findOne[] methods.

Làm thế nào tìm nạp dữ liệu từ MongoDB trong nodejs và hiển thị bằng HBS?

Ví dụ: Lấy dữ liệu từ MongoDB bằng Mongoose..
Bước 1: Tạo DB.....
db.js..
Bước 2: Tạo chế độ xem/bố cục/bố cục.....
views/layout/layout.hbs..
Bước 3: Tạo chế độ xem/người dùng/danh sách.....
views/user/list.hbs..
Bước 4: Tạo máy chủ.....
server.js..

Bài Viết Liên Quan

Chủ Đề