Tích hợp MongoDB với Node.js PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tích hợp MongoDB với Node.js

Ứng dụng hiện đại robost có phương tiện lưu trữ dữ liệu ở phần phụ trợ của nó, chẳng hạn như ứng dụng Node có thể hoạt động với cả dữ liệu không quan hệ (như PostgresQL, MongoDB) và quan hệ (như MySQL, Oracle).

MongoDB là một cơ sở dữ liệu phi quan hệ, tương đối dễ sử dụng và mạnh mẽ. Nếu bạn là nhà phát triển Node.js muốn tìm hiểu những lợi ích mà nó mang lại cũng như cách bắt đầu tạo tích hợp an toàn với ứng dụng Node của bạn, thì đây là hướng dẫn dành cho bạn!

Trong bài viết này, chúng ta sẽ tìm hiểu cách tích hợp/kết nối với MongoDB; một cơ sở dữ liệu phi quan hệ rất phổ biến với Node.js và xem cách chúng ta có thể sử dụng nó trong các ứng dụng Node.

Lưu ý: Để làm theo, bạn sẽ cần cài đặt Node.js. Bạn có thể tải xuống phiên bản ổn định lâu nhất (LTS) và cài đặt trên máy cục bộ của mình từ Trang tải xuống chính thức.

Thông tin tóm tắt về MongoDB

MongoDB là cơ sở dữ liệu dựa trên tài liệu phổ biến nhất và tiên tiến nhất, trong đó tất cả dữ liệu được lưu trữ trong JSON nhị phân (Ký hiệu đối tượng JavaScript) được gọi là BSON. BSON là một tài liệu, không cần lược đồ dữ liệu được xác định trước. Nó cho phép dữ liệu thường xuyên được ứng dụng truy cập cùng nhau được lưu trữ ở cùng một nơi và giúp việc đọc cơ sở dữ liệu trở nên dễ dàng và nhanh chóng.

Không giống như các bảng quan hệ, các bộ sưu tập là độc lập, điều này làm cho chúng dễ dàng làm việc hơn nhiều. Khi một tài liệu mới được tạo trên bộ sưu tập MongoDB, một ID sẽ được gán cho nó để làm cho nó trở thành duy nhất cho bộ sưu tập đó và bên trong tài liệu, nhiều trường có thể được xác định; trong đó giá trị có thể là một biến thể của các kiểu dữ liệu từ mảng, chuỗi, số nguyên, đối tượng, v.v.

Để thao tác dữ liệu, API truy vấn rất hữu ích khi thực hiện các thao tác Tạo, Đọc, Cập nhật và Xóa (CRUD) cơ bản trên cơ sở dữ liệu. Các chỉ mục phụ cũng có thể được tạo để đảm bảo tối ưu hóa và thực hiện các truy vấn phổ biến cực kỳ nhanh chóng. Các truy vấn không gian địa lý cũng được hỗ trợ, giúp bạn có thể tìm thấy tài liệu ở một vị trí địa lý cụ thể.

Bắt đầu với MongoDB

Trước khi chúng tôi bắt đầu kết nối với MongoDB từ ứng dụng Node, hãy truy cập trang web MongoDB chính thức để đăng ký với Try Free nút (nếu bạn chưa có tài khoản):

Sau khi tạo tài khoản của bạn, hãy đi tới nhấp vào Build a Database và nhấp vào để tạo cơ sở dữ liệu:

Tích hợp MongoDB với Node.js PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tiếp theo, tạo Cụm chia sẻ (miễn phí mãi mãi!) và đặt tên cho nó theo lựa chọn của bạn.

Cụm chia sẻ lý tưởng để thử nghiệm trong hộp cát giới hạn. Bạn có thể nâng cấp lên cụm sản xuất bất cứ lúc nào.

Tích hợp MongoDB với Node.js PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Khi bạn đã tạo thành công một Cụm, hãy nhấp vào nút Connect nút để kết nối với Cụm:

Tích hợp MongoDB với Node.js PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bây giờ bạn được hiển thị bốn cách khác nhau về cách kết nối với MongoDB, nhưng vì chúng tôi muốn kết nối với ứng dụng Node, hãy chọn Connect your application tùy chọn:

Tích hợp MongoDB với Node.js PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sau đó, bạn sẽ được nhắc chọn phương thức kết nối. Tại đây, hãy đảm bảo chọn Node.js làm trình điều khiển của bạn và chọn phiên bản thích hợp (tôi đang sử dụng 4.1 trở lên khi viết bài này).

Chúng tôi cũng được hiển thị một chuỗi kết nối hữu ích để kết nối cụm MongoDB của chúng tôi với ứng dụng Node:

Tích hợp MongoDB với Node.js PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bây giờ, chúng ta cần tạo một ứng dụng Node.js để kết nối với cơ sở dữ liệu MongoDB.

Xây dựng ứng dụng nút

Trong thư mục ưa thích của bạn cho dự án này, hãy tạo một thư mục mới:

$ mkdir integrating-mongodb-node

Sau đó chạy npm init trong thiết bị đầu cuối, để khởi tạo ứng dụng Node bằng package.json tệp giúp chúng tôi có thể theo dõi các phần phụ thuộc của ứng dụng:

$ npm init

package name: (codes) integrating-mongodb-node
version: (1.0.0)
description: learning how to connect mongodb to a node app
entry point: (server.js)
test command:
git repository:
keywords:
author:
Is this OK? (yes) yes

Xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, các tiêu chuẩn được ngành công nghiệp chấp nhận và bảng lừa đảo đi kèm. Dừng lệnh Googling Git và thực sự học nó!

Bây giờ chúng ta đã khởi tạo thành công package.json, chúng ta hãy tiếp tục cài đặt hai gói sẽ hữu ích trong việc xây dựng máy chủ của chúng ta. Đầu tiên là Express.js, một framework web giúp phát triển các ứng dụng Node nhanh chóng và dễ dàng:

$ yarn add express -D

Gói thứ hai mà chúng tôi sẽ cài đặt là gói Mongoose, gói này sẽ giúp chúng tôi xây dựng lược đồ phù hợp cho cơ sở dữ liệu của mình trong ứng dụng Node:

$ yarn add mongoose -D

Với các phần phụ thuộc phát triển cần thiết hiện đã được cài đặt thành công, giờ đây chúng ta có thể viết mã để kết nối cơ sở dữ liệu MongoDB với ứng dụng Node của mình.

Trong thư mục chúng ta vừa tạo cho dự án, hãy tạo một server.js hồ sơ

$ touch server.js

Tiếp theo, chúng tôi xác định thiết lập cơ bản cho ứng dụng Node trong server.js, bằng cách tạo một máy chủ tốc hành đơn giản.



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Chúng tôi có thể xác nhận rằng máy chủ của chúng tôi đang chạy bình thường bằng cách chạy đoạn mã sau trong thiết bị đầu cuối.

$ node server.js

Điều này sẽ dẫn đến:

Server started at port 8000

Bây giờ, bạn có thể quay lại bảng điều khiển MongoDB của mình để sao chép URI (Mã định danh tài nguyên đồng nhất) nhằm kết nối ứng dụng Node với cơ sở dữ liệu.

I server.js tạo một biến để lưu trữ mã định danh tài nguyên thống nhất và thay thế trên URI bằng mật khẩu tài khoản MongoDB của bạn.



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Tiếp theo, chúng tôi tạo một hàm không đồng bộ để cho phép chúng tôi kết nối với MongoDB, vì chúng tôi không biết có thể mất bao lâu để hàm hoàn thành trước khi chúng tôi kết nối với cơ sở dữ liệu:

const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
async function connect() {
  try {
    await mongoose.connect(uri);
    console.log("Connected to MongoDB");
  } catch (error) {
    console.log(error);
  }
}
connect();

const port = 8000;
app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Chúng tôi đã tạo một hàm không đồng bộ để ghi lại một Connected to MongoDB thông báo khi kết nối được thiết lập thành công giữa MongoDB và ứng dụng Node, đồng thời ghi lại mọi lỗi nếu xảy ra lỗi.

Bây giờ, chúng ta nên khởi động lại máy chủ:

$ node server.js

Và nhận được thông báo thành công cho chúng tôi biết rằng kết nối an toàn hiện đã được thiết lập giữa cơ sở dữ liệu MongoDB và ứng dụng Node:

Server started at port 8000
Connected to MongoDB

Tại thời điểm này, khi quay lại bảng điều khiển cho cụm dự án của mình, bạn sẽ thấy thông tin cho thấy gần đây đã có kết nối với cơ sở dữ liệu:

Tích hợp MongoDB với Node.js PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Được rồi mọi người, thế đấy! Chúng tôi đã tích hợp thành công cơ sở dữ liệu MongoDB trong ứng dụng Node.js.

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu cách tạo kết nối an toàn giữa ứng dụng Node.js và cơ sở dữ liệu MongoDB. Giờ đây, bạn có thể dễ dàng thực hiện điều tương tự khi cần xây dựng một ứng dụng bằng MongoDB; một cơ sở dữ liệu phi quan hệ rất phổ biến trong hệ sinh thái.

Đừng quên rằng Tài liệu MongoDB là người bạn tốt nhất của bạn để tìm hiểu về MongoDB và để tìm hiểu thêm về cách xây dựng các ứng dụng Express, hãy liên hệ với Tài liệu nhanh quá.

Nếu bạn gặp khó khăn khi làm theo hướng dẫn, hãy thoải mái suy nghĩ thông qua Kho lưu trữ GitHub cho dự án để tìm đường đi của bạn.

Tài Nguyên Bổ Sung

Dấu thời gian:

Thêm từ xếp chồng lên nhau