Thư viện nào được sử dụng để đọc và ghi vào cơ sở dữ liệu MongoDB từ nodejs

Trong thế giới của các ứng dụng cộng tác và xã hội ngày nay, điều quan trọng là phải có một chương trình phụ trợ đơn giản để xây dựng và dễ triển khai. Nhiều tổ chức dựa vào ngăn xếp ứng dụng bằng ba công nghệ sau

Ngăn xếp này khá phổ biến đối với các ứng dụng dành cho thiết bị di động vì định dạng dữ liệu gốc là JSON, có thể dễ dàng phân tích cú pháp bởi các ứng dụng thông qua lớp

mkdir ~/Documents/NodeTutorial
1 của Cocoa hoặc các trình phân tích cú pháp tương đương khác

Trong hướng dẫn này, bạn sẽ học cách thiết lập một Nút. js tận dụng Express;

Cơ sở dữ liệu phụ trợ được hiển thị trong bảng HTML

Phần thứ hai của loạt bài hướng dẫn này tập trung vào khía cạnh ứng dụng iOS. Bạn sẽ xây dựng một ứng dụng “địa điểm ưa thích” thú vị để gắn thẻ các địa điểm thú vị để những người dùng khác có thể tìm ra những điều thú vị gần họ. Đây là một cái nhìn lén lút về những gì bạn sẽ xây dựng

Hướng dẫn này giả định rằng bạn đã biết kiến ​​thức cơ bản về JavaScript và phát triển web nhưng chưa quen với Node. js, Express và MongoDB

Trường hợp cho Nút + Mongo

Hầu hết các nhà phát triển Objective-C có thể không quen thuộc với JavaScript, nhưng đó là ngôn ngữ cực kỳ phổ biến trong số các nhà phát triển web. Vì lý do này, Node đã trở nên phổ biến như một web framework, nhưng còn nhiều lý do nữa khiến nó trở thành một lựa chọn tuyệt vời như một dịch vụ back-end

  • Chức năng máy chủ tích hợp
  • Quản lý dự án tốt thông qua trình quản lý gói của nó
  • Một công cụ JavaScript nhanh, được gọi là V8
  • Mô hình lập trình hướng sự kiện không đồng bộ

Mô hình lập trình sự kiện và lệnh gọi lại không đồng bộ rất phù hợp với máy chủ phải chờ nhiều thứ, chẳng hạn như yêu cầu đến và liên lạc giữa các quá trình với các dịch vụ khác (như MongoDB)

MongoDB là một cơ sở dữ liệu chi phí thấp, trong đó tất cả các thực thể đều là BSON dạng tự do - “JSON nhị phân” - tài liệu. Điều này cho phép bạn làm việc với dữ liệu không đồng nhất và giúp dễ dàng xử lý nhiều định dạng dữ liệu khác nhau. Vì BSON tương thích với JSON, nên việc xây dựng API REST rất đơn giản — mã máy chủ có thể chuyển yêu cầu tới trình điều khiển cơ sở dữ liệu mà không cần nhiều xử lý trung gian

Node và MongoDB vốn có khả năng mở rộng và đồng bộ hóa dễ dàng trên nhiều máy trong một mô hình phân tán;

Bắt đầu

Hướng dẫn này giả định rằng bạn đã cài đặt OS X Mountain Lion hoặc Mavericks và Xcode với các công cụ dòng lệnh của nó

Bước đầu tiên là cài đặt Homebrew. Giống như CocoaPods quản lý các gói cho Cocoa và Gem quản lý các gói cho Ruby, Homebrew quản lý các công cụ Unix trên Mac OS X. Nó được xây dựng dựa trên Ruby và Git, rất linh hoạt và có thể tùy chỉnh

Nếu bạn đã cài đặt Homebrew, vui lòng chuyển sang bước tiếp theo. Nếu không, hãy cài đặt Homebrew bằng cách mở Terminal và thực hiện lệnh sau

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Ghi chú.

mkdir ~/Documents/NodeTutorial
2 là một công cụ hữu ích để gửi và nhận tệp và dữ liệu bằng các yêu cầu URL. Bạn sử dụng nó ở đây để tải tập lệnh cài đặt Homebrew — sau này trong hướng dẫn này, bạn sẽ sử dụng nó để tương tác với máy chủ Node

Khi Homebrew được cài đặt, hãy nhập lệnh sau vào Terminal

brew update

Điều này chỉ đơn giản là cập nhật Homebrew để bạn có danh sách gói cập nhật nhất

Bây giờ, hãy cài đặt MongoDB qua Homebrew bằng lệnh sau

brew install mongodb

Ghi lại thư mục nơi MongoDB được cài đặt như được hiển thị trong đầu ra “Tóm tắt”. Bạn sẽ cần điều này sau để khởi chạy dịch vụ MongoDB

Tải xuống và chạy Nút. trình cài đặt js từ http. //nodejs. tổ chức/tải xuống/

Khi trình cài đặt đã hoàn tất, bạn có thể kiểm tra Node của mình. cài js ngay

Nhập lệnh sau vào Terminal

node

Điều này đưa bạn vào Nút. js môi trường tương tác nơi bạn có thể thực thi các biểu thức JavaScript

Nhập biểu thức sau tại dấu nhắc

console.log("Hello World");

Bạn sẽ nhận được đầu ra sau

Hello World
undefined

mkdir ~/Documents/NodeTutorial
3 là nút. js tương đương với
mkdir ~/Documents/NodeTutorial
4. Tuy nhiên, luồng đầu ra của
mkdir ~/Documents/NodeTutorial
5 phức tạp hơn nhiều so với
mkdir ~/Documents/NodeTutorial
4. nó có
mkdir ~/Documents/NodeTutorial
7,
mkdir ~/Documents/NodeTutorial
8,
mkdir ~/Documents/NodeTutorial
9 trong số các luồng khác mà bạn có thể mong đợi từ các trình ghi nhật ký cao cấp hơn như CocoaLumberjack

Giá trị “không xác định” được ghi vào đầu ra là giá trị trả về của

mkdir ~/Documents/NodeTutorial
3 — không có giá trị trả về. Nút. js luôn hiển thị đầu ra của tất cả các biểu thức, cho dù giá trị trả về có được xác định hay không

Ghi chú. Nếu bạn đã từng làm việc với JavaScript trước đây, bạn cần lưu ý rằng có một số điểm khác biệt giữa Node. môi trường js và môi trường trình duyệt. Đối tượng toàn cầu được gọi là

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
61 thay vì
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
62. Gõ
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
61 và nhấn enter tại Nút. js dấu nhắc tương tác hiển thị tất cả các phương thức và đối tượng trong không gian tên chung; . js làm tài liệu tham khảo. . ]

Đối tượng

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
61 có tất cả các hằng số, hàm và kiểu dữ liệu được xác định trước có sẵn cho các chương trình chạy trong Nút. môi trường js. Mọi biến do người dùng tạo cũng được thêm vào đối tượng ngữ cảnh chung. Đầu ra của
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
61 sẽ liệt kê khá nhiều thứ có thể truy cập được trong bộ nhớ

Chạy một nút. tập lệnh js

Môi trường tương tác của Node. js rất tuyệt để thử và gỡ lỗi các biểu thức JavaScript của bạn, nhưng thông thường bạn sẽ sử dụng các tệp tập lệnh để hoàn thành công việc thực sự. Giống như một ứng dụng iOS bao gồm Chính. m làm điểm bắt đầu, điểm vào mặc định cho Nút. js là chỉ mục. js. Tuy nhiên, không giống như Objective-C, không có chức năng

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
66; . js được đánh giá từ trên xuống dưới

Nhấn Control+C hai lần để thoát khỏi Nút. vỏ js. Thực hiện lệnh sau để tạo một thư mục mới để chứa tập lệnh của bạn

mkdir ~/Documents/NodeTutorial

Bây giờ hãy thực hiện lệnh sau để điều hướng vào thư mục mới này và tạo một tệp tập lệnh mới trong trình soạn thảo văn bản mặc định của bạn

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
6

Thêm đoạn mã sau vào chỉ mục. js

mkdir ~/Documents/NodeTutorial
4

Lưu công việc của bạn, quay lại Terminal và thực hiện lệnh sau để xem tập lệnh của bạn đang hoạt động

mkdir ~/Documents/NodeTutorial
5

Một lần nữa, có đầu ra “Xin chào thế giới” quen thuộc. Bạn cũng có thể thực thi

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
67 để chạy tập lệnh của mình, vì
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
68 tìm kiếm chỉ mục. js theo mặc định

Phải thừa nhận rằng, tập lệnh “hello world” không phải do máy chủ tạo ra, nhưng đó là cách nhanh chóng để kiểm tra cài đặt của bạn. Phần tiếp theo giới thiệu với bạn về thế giới của Node. js sẽ tạo thành nền tảng cho máy chủ web mới sáng bóng của bạn

Gói nút

Nút. js được chia thành các gói, là các “khung” của Node. thế giới js. Nút. js đi kèm với một số gói cơ bản và mạnh mẽ, nhưng có hơn 50.000 gói công khai được cung cấp bởi cộng đồng nhà phát triển năng động — và nếu bạn không thể tìm thấy thứ mình cần, bạn có thể dễ dàng tạo gói của riêng mình

Thay thế nội dung của chỉ mục. js với đoạn mã sau

brew update
0

Lần lượt lấy từng bình luận được đánh số, bạn sẽ thấy như sau

  1. ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
    69 nhập các mô-đun vào tệp hiện tại. Trong trường hợp này, bạn đang nhập các thư viện HTTP
  2. Tại đây, bạn tạo dịch vụ web đáp ứng các yêu cầu HTTP đơn giản bằng cách gửi 200 phản hồi và ghi nội dung trang vào phản hồi

Một trong những thế mạnh lớn nhất của Node. js với tư cách là môi trường thời gian chạy là mô hình hướng sự kiện của nó. Nó được thiết kế dựa trên khái niệm gọi lại được gọi không đồng bộ. Trong ví dụ trên, bạn đang nghe trên cổng 3000 cho các yêu cầu http đến. Khi bạn nhận được yêu cầu, tập lệnh của bạn sẽ gọi

mkdir ~/Documents/NodeTutorial
40 và trả lời phản hồi cho người gọi

Lưu tệp của bạn, sau đó quay lại Terminal và thực hiện lệnh sau

mkdir ~/Documents/NodeTutorial
5

Bạn sẽ thấy đầu ra giao diện điều khiển sau

Mở trình duyệt yêu thích của bạn và điều hướng đến http. //máy chủ cục bộ. 3000; . js phục vụ trang “Xin chào thế giới” của bạn

Tập lệnh của bạn vẫn nằm đó, kiên nhẫn chờ đợi các yêu cầu http trên cổng 3000. Để tắt phiên bản Node của bạn, chỉ cần nhấn Ctrl+C trong Terminal

Ghi chú. Các gói nút thường được viết với chức năng hoặc đối tượng cấp cao nhất được xuất. Hàm này sau đó được gán cho một biến cấp cao nhất bằng cách sử dụng hàm

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
69. Điều này giúp quản lý phạm vi và hiển thị API của mô-đun một cách lành mạnh. Bạn sẽ thấy cách tạo mô-đun tùy chỉnh sau trong hướng dẫn này khi bạn thêm trình điều khiển cho MongoDB

NPM – Sử dụng các mô-đun nút bên ngoài

Phần trước đã đề cập đến Nút. js, nhưng còn các mô-đun của bên thứ ba như Express mà sau này bạn sẽ cần để cung cấp phần mềm trung gian định tuyến cho nền tảng máy chủ của mình thì sao?

Các mô-đun bên ngoài cũng được nhập vào tệp có chức năng yêu cầu, nhưng bạn phải tải xuống chúng một cách riêng biệt và sau đó cung cấp chúng cho phiên bản Node của bạn

Nút. js sử dụng npm — Mô-đun gói nút — để tải xuống, cài đặt và duy trì các gói phụ thuộc. Nếu bạn đã quen thuộc với Cocoapods hoặc đá quý ruby, thì

mkdir ~/Documents/NodeTutorial
42 sẽ cảm thấy quen thuộc. nút của bạn. ứng dụng js sử dụng gói. json xác định cấu hình và các phụ thuộc của
mkdir ~/Documents/NodeTutorial
42

Sử dụng Express

Express là một Node phổ biến. js để định tuyến phần mềm trung gian. Tại sao bạn cần gói riêng biệt này?

Nếu bạn chỉ sử dụng mô-đun

mkdir ~/Documents/NodeTutorial
44, bạn sẽ phải phân tích cú pháp vị trí của từng yêu cầu một cách riêng biệt để tìm ra nội dung nào sẽ phục vụ cho người gọi — và điều đó sẽ trở nên khó sử dụng trong một thời gian rất ngắn

Tuy nhiên, với Express, bạn có thể dễ dàng xác định các tuyến và chuỗi gọi lại cho từng yêu cầu. Express cũng giúp dễ dàng cung cấp các lệnh gọi lại khác nhau dựa trên động từ http (ví dụ:. ĐĂNG, ĐẶT, NHẬN, XÓA, ĐẦU, v.v.)

Chuyển hướng ngắn sang động từ HTTP

Một yêu cầu HTTP bao gồm một phương thức — hoặc động từ — giá trị. Giá trị mặc định là

mkdir ~/Documents/NodeTutorial
45, dùng để tìm nạp dữ liệu, chẳng hạn như các trang web trong trình duyệt.
mkdir ~/Documents/NodeTutorial
46 dùng để tải dữ liệu lên, chẳng hạn như gửi biểu mẫu web. Đối với API web,
mkdir ~/Documents/NodeTutorial
46 thường được sử dụng để thêm dữ liệu, nhưng nó cũng có thể được sử dụng cho các điểm cuối loại lệnh gọi thủ tục từ xa

mkdir ~/Documents/NodeTutorial
48 khác với
mkdir ~/Documents/NodeTutorial
46 ở chỗ nó thường được sử dụng để thay thế dữ liệu hiện có. Trong thực tế,
mkdir ~/Documents/NodeTutorial
46 và
mkdir ~/Documents/NodeTutorial
48 thường được sử dụng theo cùng một cách. để cung cấp các thực thể trong phần thân yêu cầu được đặt vào kho dữ liệu phụ trợ.
mkdir ~/Documents/NodeTutorial
52 được sử dụng để xóa các mục khỏi kho dữ liệu phụ trợ của bạn

mkdir ~/Documents/NodeTutorial
46,
mkdir ~/Documents/NodeTutorial
45,
mkdir ~/Documents/NodeTutorial
48 và
mkdir ~/Documents/NodeTutorial
52 là các triển khai HTTP của mô hình CRUD - Tạo, Đọc, Cập nhật và Xóa

Có một vài động từ HTTP khác ít được biết đến hơn.

mkdir ~/Documents/NodeTutorial
57 hoạt động giống như
mkdir ~/Documents/NodeTutorial
45 nhưng chỉ trả về các tiêu đề phản hồi chứ không phải phần thân. Điều này giúp giảm thiểu việc truyền dữ liệu nếu thông tin trong tiêu đề phản hồi đủ để xác định xem có dữ liệu mới hay không. Các động từ khác như
mkdir ~/Documents/NodeTutorial
59 và
brew update
00 được sử dụng để định tuyến mạng

Thêm Gói vào Phiên bản Nút của bạn

Thực hiện lệnh sau trong Terminal

brew update
2

Điều này tạo ra một gói mới. json để chứa cấu hình gói và các phụ thuộc của bạn

Thêm đoạn mã sau vào gói. json

brew update
3

Tệp này xác định một số siêu dữ liệu như tên và phiên bản dự án, một số tập lệnh và quan trọng nhất cho mục đích của bạn, các gói phụ thuộc. Đây là ý nghĩa của mỗi dòng

  • tên là tên của dự án
  • phiên bản là phiên bản hiện tại của dự án
  • private ngăn dự án vô tình được xuất bản nếu bạn đặt nó thành
    brew update
    
    01
  • phụ thuộc là một danh sách chứa Node. js được ứng dụng của bạn sử dụng

Các phụ thuộc có dạng cặp khóa/giá trị của tên và phiên bản mô-đun. Danh sách phụ thuộc của bạn chứa phiên bản 3. 3. 4 của Express; . js để sử dụng phiên bản mới nhất của gói, bạn có thể sử dụng ký tự đại diện “*”

Lưu tệp của bạn, sau đó thực hiện lệnh sau trong Terminal

brew update
4

Bạn sẽ thấy đầu ra sau

brew update
02 tải xuống và cài đặt các phụ thuộc được chỉ định trong gói. json - và các phần phụ thuộc của các phần phụ thuộc của bạn. . ] — vào một thư mục có tên là thư mục node_modules và cung cấp chúng cho ứng dụng của bạn

Sau khi hoàn thành

mkdir ~/Documents/NodeTutorial
42, bây giờ bạn có thể sử dụng Express trong ứng dụng của mình

Tìm dòng sau trong chỉ mục. js

brew update
5

…và thêm lệnh gọi

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
69 cho Express, như bên dưới

brew update
6

Điều này nhập gói Express và lưu trữ nó trong một biến có tên là

brew update
05

Thêm đoạn mã sau vào chỉ mục. js ngay sau phần bạn đã thêm ở trên

brew update
7

Điều này tạo ra một ứng dụng Express và đặt cổng của nó thành 3000 theo mặc định. Bạn có thể ghi đè lên mặc định này bằng cách tạo một biến môi trường có tên là

brew update
06. Loại tùy chỉnh này khá tiện dụng trong quá trình phát triển công cụ, đặc biệt nếu bạn có nhiều ứng dụng đang nghe trên nhiều cổng khác nhau

Thêm đoạn mã sau vào chỉ mục. js ngay dưới phần bạn đã thêm ở trên

brew update
8

Điều này tạo ra một trình xử lý tuyến đường, đây là một tên ưa thích cho một chuỗi trình xử lý yêu cầu cho một URL nhất định. Express khớp với các đường dẫn đã chỉ định trong yêu cầu và thực hiện gọi lại một cách thích hợp

Cuộc gọi lại của bạn ở trên yêu cầu Express khớp với gốc “

brew update
07” và trả về HTML đã cho trong phản hồi.
brew update
08 định dạng các tiêu đề phản hồi khác nhau cho bạn — chẳng hạn như
brew update
09 và
brew update
10 — để thay vào đó, bạn có thể tập trung vào việc viết mã tuyệt vời

Cuối cùng, thay thế phần

brew update
11 hiện tại xuống và bao gồm cả dòng
mkdir ~/Documents/NodeTutorial
3 bằng mã sau

brew update
9

Đây là một chút nhỏ gọn hơn so với trước đây.

brew update
13 thực hiện cuộc gọi lại
brew update
14 một cách riêng biệt thay vì đưa nó vào nội tuyến ở đây trong cuộc gọi
brew update
15. Bạn cũng đã thêm một lệnh gọi lại trình xử lý hoàn thành được gọi sau khi cổng được mở và sẵn sàng nhận yêu cầu. Bây giờ, ứng dụng của bạn đợi cổng sẵn sàng trước khi ghi thông báo “đang nghe” vào bảng điều khiển

Để xem xét, lập chỉ mục. js bây giờ trông giống như sau

brew install mongodb
0

Lưu tệp của bạn và thực hiện lệnh sau trong Terminal

mkdir ~/Documents/NodeTutorial
5

Quay lại trình duyệt của bạn và tải lại

brew update
16 để kiểm tra xem trang Hello World của bạn có còn tải không

Trang của bạn trông không khác gì trước đây, nhưng có nhiều cách để xem điều gì đang diễn ra bên trong

Tạo một phiên bản khác của Terminal và thực hiện lệnh sau

brew install mongodb
2

Bạn sẽ thấy đầu ra sau

brew update
17 gửi lại các tiêu đề và nội dung phản hồi cho yêu cầu HTTP của bạn để hiển thị cho bạn các chi tiết thô về những gì đang được cung cấp. Lưu ý tiêu đề “
brew update
18”;

Cung cấp nội dung với Express

Thật dễ dàng để cung cấp các tệp tĩnh bằng Express

Thêm câu lệnh sau vào phần

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
69 ở đầu chỉ mục. js

brew install mongodb
3

Bây giờ thêm dòng sau ngay sau câu lệnh

brew update
20

brew install mongodb
4

Điều này yêu cầu Express sử dụng phần mềm trung gian

brew update
21 phục vụ các tệp tĩnh để đáp ứng các yêu cầu đến

brew update
22 ánh xạ thư mục con cục bộ công khai tới tuyến đường cơ sở
brew update
07; . js
brew update
24 để tạo chuỗi thư mục con độc lập với nền tảng

mục lục. js bây giờ trông giống như sau

brew install mongodb
5

Sử dụng trình xử lý tĩnh, mọi thứ trong

brew update
25 hiện có thể được truy cập theo tên

Để chứng minh điều này, hãy tắt phiên bản Node của bạn bằng cách nhấn Control+C, sau đó thực hiện các lệnh bên dưới trong Terminal

brew install mongodb
6

Thêm mã sau vào xin chào. html

brew install mongodb
7

Thao tác này tạo một thư mục mới public và tạo một tệp HTML tĩnh cơ bản

Khởi động lại phiên bản Node của bạn bằng lệnh

brew update
26. Trỏ trình duyệt của bạn tới
brew update
27 và bạn sẽ thấy trang mới được tạo như sau

Định tuyến nâng cao

Các trang tĩnh đều tốt và tốt, nhưng sức mạnh thực sự của Express được tìm thấy trong định tuyến động. Express sử dụng một trình so khớp biểu thức chính quy trên chuỗi tuyến đường và cho phép bạn xác định các tham số cho tuyến đường

Ví dụ: chuỗi tuyến đường có thể chứa các mục sau

  • thuật ngữ tĩnh —
    brew update
    
    28 chỉ khớp với
    brew update
    
    29
  • các tham số có tiền tố là “. ” —
    brew update
    
    30 khớp với
    brew update
    
    31 và
    brew update
    
    32, nhưng không khớp với
    brew update
    
    28
  • tham số tùy chọn có hậu tố là “?”
  • biểu thức chính quy -
    brew update
    
    37 khớp với
    brew update
    
    38 và
    brew update
    
    39

Để dùng thử, hãy thêm tuyến đường sau vào sau câu lệnh

brew update
40 trong chỉ mục. js

brew install mongodb
8

Điều này tạo ra một tuyến đường mới chiếm tối đa ba cấp độ đường dẫn và hiển thị các thành phần đường dẫn đó trong nội dung phản hồi. Mọi thứ bắt đầu bằng

brew update
41 được ánh xạ tới tham số yêu cầu của tên được cung cấp

Khởi động lại phiên bản Node của bạn và trỏ trình duyệt của bạn tới.

brew update
42. Bạn sẽ thấy trang sau

“hi” là giá trị của

brew update
43, “every” được gán cho
brew update
44 và cuối cùng “body” được gán cho
brew update
45

Kết hợp tuyến đường này rất hữu ích khi xây dựng API REST nơi bạn có thể chỉ định đường dẫn động cho các mục cụ thể trong kho dữ liệu phụ trợ

Ngoài

brew update
40, Express hỗ trợ
brew update
47,
brew update
48,
brew update
49 trong số những người khác

Xử lý lỗi và xem web theo mẫu

Lỗi máy chủ có thể được xử lý theo một trong hai cách. Bạn có thể chuyển một ngoại lệ lên ngăn xếp cuộc gọi — và có thể tắt ứng dụng bằng cách làm như vậy — hoặc thay vào đó, bạn có thể bắt lỗi và trả lại mã lỗi hợp lệ

HTTP1. 1 giao thức xác định một số mã lỗi trong phạm vi 4xx và 5xx. Phạm vi 400 lỗi dành cho lỗi người dùng, chẳng hạn như yêu cầu một mặt hàng không tồn tại. một lỗi quen thuộc là lỗi 404 Not Found phổ biến. 500 lỗi phạm vi có nghĩa là đối với các lỗi máy chủ, chẳng hạn như hết thời gian chờ hoặc lỗi lập trình, chẳng hạn như hủy đăng ký null

Bạn sẽ thêm một tuyến tổng hợp để hiển thị trang 404 khi không tìm thấy nội dung được yêu cầu. Vì các trình xử lý tuyến đường được thêm vào theo thứ tự chúng được đặt bằng động từ

brew update
50 hoặc
brew update
51, nên có thể thêm một bộ xử lý bắt tất cả vào cuối chuỗi tuyến đường

Thêm đoạn mã sau vào giữa

brew update
40 cuối cùng và lệnh gọi tới
brew update
53 trong chỉ mục. js

brew install mongodb
9

Mã này khiến trang 404 được tải nếu không có lệnh gọi nào trước đó tới

brew update
54

Có một số điểm cần lưu ý trong phân đoạn này

  1. brew update
    
    55 phù hợp với tất cả các yêu cầu. Khi được đặt ở cuối danh sách các câu lệnh động từ
    brew update
    
    50 và
    brew update
    
    51, lệnh gọi lại này sẽ trở thành một lệnh bắt tất cả
  2. Cuộc gọi tới
    brew update
    
    58 lấp đầy phần thân phản hồi với đầu ra được hiển thị từ một công cụ tạo khuôn mẫu. Công cụ tạo khuôn mẫu lấy một tệp mẫu có tên là “chế độ xem” từ đĩa và thay thế các biến bằng một tập hợp các tham số khóa-giá trị để tạo tài liệu mới

Đợi đã - một "công cụ tạo khuôn mẫu"?

Express có thể sử dụng nhiều công cụ tạo khuôn mẫu khác nhau để phục vụ các chế độ xem. Để ví dụ này hoạt động, bạn sẽ thêm công cụ tạo khuôn mẫu Jade phổ biến vào ứng dụng của mình

Jade là một ngôn ngữ đơn giản tránh dấu ngoặc và thay vào đó sử dụng khoảng trắng để xác định thứ tự và ngăn chứa các thẻ HTML. Nó cũng cho phép các biến, điều kiện, phép lặp và phân nhánh để tự động tạo tài liệu HTML.
Cập nhật danh sách phụ thuộc trong gói. json như sau.

node
0

Quay trở lại Terminal, tắt phiên bản Node của bạn và thực hiện lệnh sau

node
1

Điều này tải xuống và cài đặt gói

brew update
59 cho bạn

Thêm mã sau ngay bên dưới dòng

brew update
20 đầu tiên trong chỉ mục. js

node
2

Dòng đầu tiên ở trên chỉ định vị trí của các mẫu chế độ xem, trong khi dòng thứ hai đặt Jade làm công cụ hiển thị chế độ xem

Thực hiện lệnh sau trong Terminal

node
3

Thêm mã sau vào 404. ngọc bích

node
4

Hai dòng đầu tiên của mẫu Jade tạo một tài liệu HTML mới với phần tử

brew update
61. Dòng thứ ba tạo một phần tử
brew update
62 bên trong phần tử
brew update
61 do thụt lề. Khoảng cách rất quan trọng trong Jade. . ]

Văn bản của phần tử

brew update
62 là giá trị được nối của "Không thể tải trang" và giá trị của tham số
brew update
65 được truyền vào như một phần của
brew update
66 trong chỉ mục. js

Để kiểm tra nhanh, chỉ mục của bạn. js bây giờ trông giống như sau

node
5

Khởi động lại phiên bản Node của bạn và sử dụng trình duyệt của bạn để tải URL

brew update
67. Bạn sẽ thấy trang bên dưới

Bây giờ bạn có đủ mã khởi động trong chỉ mục. js để chấp nhận các yêu cầu đến và cung cấp một số phản hồi cơ bản. Tất cả những gì bạn đang thiếu là sự bền bỉ của cơ sở dữ liệu để biến nó thành một ứng dụng web hữu ích có thể được tận dụng từ một ứng dụng dành cho thiết bị di động

Giới thiệu MongoDB

MongoDB là một cơ sở dữ liệu lưu trữ các đối tượng JSON. Không giống như cơ sở dữ liệu SQL, cơ sở dữ liệu NoSQL như Mongo không hỗ trợ các mối quan hệ thực thể. Ngoài ra, không có lược đồ được xác định trước, vì vậy các thực thể trong cùng một bộ sưu tập (hoặc “bảng”, theo cách nói quan hệ) không cần phải có các trường giống nhau hoặc tuân theo bất kỳ mẫu được xác định trước nào

MongoDB cũng cung cấp một map-reduce ngôn ngữ truy vấn mạnh mẽ cùng với hỗ trợ dữ liệu vị trí. MongoDB phổ biến nhờ khả năng mở rộng quy mô, sao chép và phân đoạn. Các tính năng mở rộng và tính khả dụng cao không được đề cập trong hướng dẫn này

Hạn chế lớn nhất của MongoDB là thiếu hỗ trợ mối quan hệ và nó có thể ngốn bộ nhớ vì nó ánh xạ bộ nhớ vào tệp cơ sở dữ liệu thực tế. Những vấn đề này có thể được giảm thiểu bằng cách cấu trúc dữ liệu cẩn thận;

Do mối quan hệ chặt chẽ giữa các tài liệu MongoDB và JSON, MongoDB là một lựa chọn tuyệt vời làm cơ sở dữ liệu cho cả ứng dụng web và thiết bị di động. MongoDB không lưu trữ JSON thô; . BSON cũng có lợi thế là hỗ trợ nhiều kiểu dữ liệu hơn JSON, chẳng hạn như ngày và loại C

Thêm MongoDB vào Dự án của bạn

MongoDB là một ứng dụng gốc và được truy cập thông qua trình điều khiển. Có một số trình điều khiển cho hầu hết mọi môi trường, bao gồm cả Node. js. Trình điều khiển MongoDB kết nối với máy chủ MongoDB và đưa ra các lệnh để cập nhật hoặc đọc dữ liệu

Điều này có nghĩa là bạn sẽ cần một phiên bản MongoDB đang chạy trên một cổng mở. May mắn thay, đó là bước tiếp theo của bạn. . ]

Mở một phiên bản mới của Terminal và thực hiện các lệnh sau

node
6

Thao tác này khởi động daemon máy chủ MongoDB

Bây giờ dịch vụ MongoDB đã hoạt động trên cổng mặc định 27017

Mặc dù trình điều khiển MongoDB cung cấp kết nối cơ sở dữ liệu nhưng nó vẫn phải được kết nối với máy chủ để dịch các yêu cầu HTTP đến thành các lệnh cơ sở dữ liệu thích hợp

Tạo trình điều khiển bộ sưu tập MongoDB

Bạn có nhớ tuyến đường

brew update
68 mà bạn đã triển khai trước đó không?

Vì các tài liệu MongoDB được tổ chức thành các bộ sưu tập, nên tuyến đường có thể đơn giản như.

brew update
69 cho phép bạn truy cập các đối tượng dựa trên hệ thống địa chỉ đơn giản theo kiểu cực kỳ RESTful

Giết phiên bản Node của bạn và thực hiện các lệnh sau trong Terminal

node
7

Thêm mã sau vào bộ sưu tậpDriver. js

node
8

Dòng này nhập các gói yêu cầu khác nhau;

Ghi chú. Nếu bạn quen thuộc với cơ sở dữ liệu truyền thống, bạn có thể hiểu thuật ngữ “khóa chính”. MongoDB có một khái niệm tương tự. theo mặc định, các thực thể mới được gán một trường

brew update
71 duy nhất của kiểu dữ liệu ObjectID mà MongoDB sử dụng để tra cứu và chèn được tối ưu hóa. Vì ObjectID là loại BSON chứ không phải loại JSON, nên bạn sẽ phải chuyển đổi mọi chuỗi đến thành ObjectID nếu chúng được sử dụng khi so sánh với trường “_id”

Thêm mã sau vào bộ sưu tậpDriver. js ngay sau dòng bạn đã thêm ở trên

node
9

Hàm này định nghĩa phương thức khởi tạo

brew update
72; . Trong JavaScript,
brew update
73 là một tham chiếu đến ngữ cảnh hiện tại, giống như
brew update
74 trong Objective-C

Vẫn làm việc trong cùng một tệp, hãy thêm đoạn mã sau vào bên dưới khối bạn vừa thêm

console.log("Hello World");
0

Phần này định nghĩa một phương thức trợ giúp

brew update
75 để lấy bộ sưu tập Mongo theo tên. Bạn định nghĩa các phương thức của lớp bằng cách thêm các hàm vào
brew update
76

brew update
77 tìm nạp đối tượng bộ sưu tập và trả lại bộ sưu tập — hoặc một lỗi — cho hàm gọi lại

Thêm mã sau vào bộ sưu tậpDriver. js, bên dưới khối bạn vừa thêm

console.log("Hello World");
1

________ 378 lấy bộ sưu tập ở dòng A ở trên và nếu không có lỗi như không thể truy cập máy chủ MongoDB, thì nó được gọi là ________ 379 ở dòng B ở trên. Điều này trả về tất cả các đối tượng được tìm thấy

brew update
79 trả về một con trỏ dữ liệu có thể được sử dụng để lặp qua các đối tượng phù hợp.
brew update
79 cũng có thể chấp nhận đối tượng bộ chọn để lọc kết quả.
brew update
82 tổ chức tất cả các kết quả trong một mảng và chuyển nó tới hàm gọi lại. Cuộc gọi lại cuối cùng này sau đó trả về người gọi có lỗi hoặc tất cả các đối tượng được tìm thấy trong mảng

Vẫn làm việc trong cùng một tệp, hãy thêm đoạn mã sau vào bên dưới khối bạn vừa thêm

console.log("Hello World");
2

Trong dòng A ở trên,

brew update
83 nhận được một mục từ bộ sưu tập bởi
brew update
71 của nó. Tương tự như phương thức
brew update
85, cuộc gọi này trước tiên lấy đối tượng bộ sưu tập sau đó thực hiện một
brew update
86 đối với đối tượng được trả về. Vì điều này khớp với trường
brew update
71, nên một
brew update
79 hoặc
brew update
89 trong trường hợp này phải khớp với nó bằng cách sử dụng đúng kiểu dữ liệu

MongoDB lưu trữ các trường

brew update
71 dưới dạng BSON loại
brew update
70. Trong dòng C ở trên,
brew update
92 (C) lấy một chuỗi và biến nó thành một BSON ObjectID để khớp với bộ sưu tập. Tuy nhiên,
brew update
92 là persnickety và yêu cầu chuỗi hex thích hợp nếu không nó sẽ trả về lỗi. do đó, regex kiểm tra phía trước trong dòng B

Điều này không đảm bảo rằng có một đối tượng phù hợp với

brew update
71 đó, nhưng nó đảm bảo rằng
brew update
70 sẽ có thể phân tích cú pháp chuỗi. Bộ chọn
brew update
96 khớp chính xác với trường
brew update
71 so với trường
brew update
98 được cung cấp

Ghi chú. Việc đọc từ một tập hợp hoặc thực thể không tồn tại không phải là lỗi – trình điều khiển MongoDB chỉ trả về một vùng chứa trống

Thêm dòng sau vào collectionDriver. js bên dưới khối bạn vừa thêm

console.log("Hello World");
3

Dòng này khai báo các thực thể được hiển thị hoặc đã xuất cho các ứng dụng khác liệt kê bộ sưu tậpDriver. js như một mô-đun bắt buộc

Lưu các thay đổi của bạn — bạn đã hoàn tất với tệp này. Bây giờ tất cả những gì bạn cần là một cách để gọi tệp này

Sử dụng trình điều khiển bộ sưu tập của bạn

Để gọi cho

brew update
99 của bạn, trước tiên hãy thêm dòng sau vào phần
brew install mongodb
00 của gói. json

console.log("Hello World");
4

Thực hiện lệnh sau trong Terminal

node
1

Điều này tải xuống và cài đặt gói MongoDB

Thực hiện lệnh sau trong Terminal

console.log("Hello World");
6

Bây giờ thêm đoạn mã sau vào dữ liệu. ngọc bích, chú ý đến các mức thụt đầu dòng

console.log("Hello World");
7

Mẫu này hiển thị nội dung của một bộ sưu tập trong bảng HTML để làm cho chúng có thể đọc được bằng con người

Thêm đoạn mã sau vào chỉ mục. js, ngay bên dưới dòng

brew install mongodb
01

console.log("Hello World");
8

Tại đây, bạn bao gồm các đối tượng

brew install mongodb
02 và
brew install mongodb
03 từ mô-đun MongoDB cùng với
brew update
72 mới tạo của bạn

Thêm đoạn mã sau vào chỉ mục. js, ngay sau dòng

brew update
20 cuối cùng

console.log("Hello World");
9

Dòng A ở trên giả sử phiên bản MongoDB đang chạy cục bộ trên cổng mặc định là 27017. Nếu bạn đã từng chạy máy chủ MongoDB ở nơi khác, bạn sẽ phải sửa đổi các giá trị này, nhưng hãy để chúng nguyên trạng cho hướng dẫn này

Dòng B tạo một MongoClient mới và lệnh gọi tới

brew install mongodb
06 trong dòng C cố gắng thiết lập kết nối. Nếu nỗ lực kết nối của bạn không thành công, rất có thể là do bạn chưa khởi động máy chủ MongoDB của mình. Trong trường hợp không có kết nối, ứng dụng sẽ thoát ở dòng D

Nếu máy khách kết nối, nó sẽ mở cơ sở dữ liệu MyDatabase tại dòng E. Một phiên bản MongoDB có thể chứa nhiều cơ sở dữ liệu, tất cả đều có không gian tên duy nhất và dữ liệu duy nhất. Cuối cùng, bạn tạo đối tượng

brew update
72 trong dòng F và chuyển vào một tay cầm cho máy khách MongoDB

Thay thế hai cuộc gọi

brew update
40 đầu tiên trong chỉ mục. js với đoạn mã sau

Hello World
undefined
0

Điều này tạo ra hai tuyến đường mới.

brew install mongodb
09 và
brew update
69. Chúng gọi các phương thức
brew install mongodb
11 và
brew install mongodb
12 tương ứng và trả về đối tượng JSON hoặc các đối tượng, tài liệu HTML hoặc lỗi tùy thuộc vào kết quả

Khi bạn xác định tuyến đường

brew install mongodb
13 trong Express, nó sẽ khớp chính xác với “bộ sưu tập”. Tuy nhiên, nếu bạn xác định tuyến đường là
brew install mongodb
09 như trong dòng A thì nó sẽ khớp với bất kỳ đường dẫn cấp một nào lưu trữ tên được yêu cầu trong
brew install mongodb
15. bộ sưu tập trong dòng B. Trong trường hợp này, bạn xác định điểm cuối để khớp bất kỳ URL nào với bộ sưu tập MongoDB bằng cách sử dụng
brew install mongodb
16 của
brew update
72 trong dòng C

Nếu tìm nạp thành công, thì mã sẽ kiểm tra xem yêu cầu có chỉ định rằng nó chấp nhận kết quả HTML trong tiêu đề ở dòng E. Nếu vậy, dòng F lưu trữ HTML được hiển thị từ mẫu

brew install mongodb
18 trong
brew install mongodb
19. Điều này chỉ đơn giản là trình bày nội dung của bộ sưu tập trong một bảng HTML

Theo mặc định, trình duyệt web xác định rằng họ chấp nhận HTML trong yêu cầu của họ. Khi các loại ứng dụng khách khác yêu cầu điểm cuối này, chẳng hạn như ứng dụng iOS sử dụng

brew install mongodb
20, phương thức này thay vào đó trả về tài liệu JSON có thể phân tích cú pháp bằng máy tại dòng G.
brew update
54 trả về mã thành công cùng với tài liệu JSON do trình điều khiển bộ sưu tập tạo tại dòng H

Trong trường hợp đường dẫn URL hai cấp được chỉ định, dòng tôi coi đây là tên bộ sưu tập và thực thể

brew update
71. Sau đó, bạn yêu cầu thực thể cụ thể bằng cách sử dụng phương thức của
brew install mongodb
23
brew update
99 trong dòng J. Nếu thực thể đó được tìm thấy, bạn trả lại nó dưới dạng tài liệu JSON tại dòng K

Lưu công việc của bạn, khởi động lại phiên bản Node của bạn, kiểm tra xem trình nền

brew install mongodb
25 của bạn có còn đang chạy hay không và trỏ trình duyệt của bạn tới
brew install mongodb
26;

Này, đó là rất nhiều không có gì?

Ồ, chờ đã — đó là vì bạn chưa thêm bất kỳ dữ liệu nào. Thời gian để khắc phục điều đó

Làm việc với dữ liệu

Đọc các đối tượng từ một cơ sở dữ liệu trống không thú vị lắm. Để kiểm tra chức năng này, bạn cần một cách để thêm các thực thể vào cơ sở dữ liệu

Thêm phương thức sau vào CollectionDriver. js và thêm phương thức nguyên mẫu mới sau đây ngay trước dòng

brew install mongodb
27

Hello World
undefined
1

Giống như

brew install mongodb
16 và
brew install mongodb
29, trước tiên,
brew install mongodb
30 truy xuất đối tượng bộ sưu tập tại dòng A. Sau đó, cuộc gọi lại lấy thực thể được cung cấp và thêm một trường để ghi lại ngày nó được tạo ở dòng B. Cuối cùng, bạn chèn đối tượng đã sửa đổi vào bộ sưu tập tại dòng C.
brew install mongodb
31 cũng tự động thêm
brew update
71 vào đối tượng

Thêm đoạn mã sau vào chỉ mục. js ngay sau chuỗi phương thức

brew install mongodb
29 mà bạn đã thêm một lúc trước

Hello World
undefined
2

Điều này tạo ra một lộ trình mới cho động từ POST ở dòng A, chèn nội dung dưới dạng một đối tượng vào bộ sưu tập đã chỉ định bằng cách gọi

brew install mongodb
34 mà bạn vừa thêm vào trình điều khiển của mình. Dòng B trả về mã thành công của HTTP 201 khi tài nguyên được tạo

Chỉ còn một mảnh ghép cuối cùng. Thêm dòng sau vào chỉ mục. js ngay sau dòng

brew update
20, nhưng trước bất kỳ dòng
brew update
50 hoặc
brew update
40 nào

Hello World
undefined
3

Điều này yêu cầu Express phân tích dữ liệu nội dung đến; . Bằng cách đặt cuộc gọi này trước, phân tích cú pháp nội dung sẽ được gọi trước các trình xử lý tuyến đường khác. Bằng cách này,

brew install mongodb
38 có thể được chuyển trực tiếp tới mã trình điều khiển dưới dạng đối tượng JavaScript

Khởi động lại phiên bản Node của bạn một lần nữa và thực hiện lệnh sau trong Terminal để chèn một đối tượng thử nghiệm vào cơ sở dữ liệu của bạn

Hello World
undefined
4

Bạn sẽ thấy bản ghi được lặp lại cho bạn trong bảng điều khiển của bạn, giống như vậy

Bây giờ hãy quay lại trình duyệt của bạn và tải lại

brew install mongodb
26;

Cập nhật và xóa dữ liệu

Bạn đã triển khai các hoạt động Tạo và Đọc của CRUD — tất cả những gì còn lại là Cập nhật và Xóa. Đây là tương đối đơn giản và theo cùng một mô hình như hai người kia

Thêm đoạn mã sau vào CollectionDriver. js trước dòng

brew install mongodb
27

Hello World
undefined
5

Hàm

brew install mongodb
41 lấy một đối tượng và cập nhật nó trong bộ sưu tập bằng cách sử dụng phương thức
brew install mongodb
34 của
brew update
99 trong dòng C. Điều này giả định rằng
brew update
71 của cơ thể giống như được chỉ định trong tuyến đường ở dòng A. Dòng B thêm trường
brew install mongodb
45 với thời gian đối tượng được sửa đổi. Thêm dấu thời gian sửa đổi là một ý tưởng hay để hiểu cách dữ liệu thay đổi sau này trong vòng đời của ứng dụng của bạn

Lưu ý rằng thao tác cập nhật này sẽ thay thế bất kỳ thứ gì có trong đó trước đó bằng đối tượng mới – không hỗ trợ cập nhật cấp thuộc tính

Thêm đoạn mã sau vào

brew install mongodb
46 ngay trước dòng
brew install mongodb
27

Hello World
undefined
6

brew install mongodb
48 hoạt động giống như các phương thức CRUD khác. Nó tìm nạp đối tượng bộ sưu tập trong dòng A, sau đó gọi
brew install mongodb
49 với
brew update
98 được cung cấp trong dòng B

Bây giờ bạn cần hai tuyến đường mới để xử lý các hoạt động này. May mắn thay, các động từ

mkdir ~/Documents/NodeTutorial
48 và
mkdir ~/Documents/NodeTutorial
52 đã tồn tại nên bạn có thể tạo các trình xử lý sử dụng cùng ngữ nghĩa như
mkdir ~/Documents/NodeTutorial
45

Thêm đoạn mã sau vào chỉ mục. js ngay sau cuộc gọi

brew install mongodb
54

Hello World
undefined
7

Cuộc gọi lại

brew install mongodb
55 tuân theo cùng một mẫu như thực thể đơn lẻ
brew install mongodb
29. bạn khớp tên bộ sưu tập và
brew update
71 như trong dòng A. Giống như lộ trình của
brew install mongodb
58,
brew install mongodb
55 chuyển đối tượng JSON từ phần thân sang phương thức
brew install mongodb
41 của
brew update
99 mới trong dòng B

Đối tượng được cập nhật được trả về trong phản hồi (dòng C), vì vậy máy khách có thể giải quyết bất kỳ trường nào được máy chủ cập nhật, chẳng hạn như

brew install mongodb
45

Thêm đoạn mã sau vào chỉ mục. js ngay bên dưới phương thức

brew install mongodb
55 mà bạn đã thêm ở trên

Hello World
undefined
8

Điểm cuối

brew install mongodb
64 rất giống với
brew install mongodb
55 như được hiển thị bởi dòng A ngoại trừ việc
brew install mongodb
64 không yêu cầu phần thân. Bạn truyền các tham số cho phương thức
brew install mongodb
48 của
brew update
99 tại dòng B và nếu thao tác xóa thành công thì bạn trả về đối tượng ban đầu với mã phản hồi là 200 tại dòng C

Nếu xảy ra sự cố trong quá trình thao tác trên, bạn sẽ trả lại mã lỗi thích hợp

Lưu công việc của bạn và khởi động lại phiên bản Node của bạn

Thực hiện lệnh sau trong Terminal, thay thế

brew install mongodb
69 bằng bất kỳ giá trị nào được trả về từ lệnh gọi
mkdir ~/Documents/NodeTutorial
46 ban đầu

Hello World
undefined
9

Bạn sẽ thấy phản hồi sau trong Terminal

Truy cập trình duyệt của bạn và tải lại

brew install mongodb
26;

Thực hiện lệnh sau trong Terminal để xóa bản ghi của bạn

mkdir ~/Documents/NodeTutorial
0

Bạn sẽ nhận được phản hồi sau từ

brew update
17

Tải lại

brew install mongodb
26 và chắc chắn, mục nhập của bạn hiện đã biến mất

Và như vậy, bạn đã hoàn thành toàn bộ mô hình CRUD của mình bằng Node. js, Express và MongoDB

Đi đâu từ đây?

Đây là dự án mẫu đã hoàn thành với tất cả mã từ hướng dẫn ở trên

Máy chủ của bạn hiện đã sẵn sàng để khách hàng kết nối và bắt đầu truyền dữ liệu. Trong phần thứ hai của loạt bài hướng dẫn này, bạn sẽ xây dựng một ứng dụng iOS để kết nối với máy chủ mới của mình và tận dụng một số tính năng thú vị của MongoDB và Express

Làm cách nào để đọc dữ liệu từ MongoDB bằng nút JS?

Để 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 vùng chọn. Tham số đầu tiên của phương thức findOne() là một đối tượng truy vấn.

Làm cách nào để kết nối NodeJS với cơ sở dữ liệu MongoDB?

Chúng ta có thể cài đặt trình điều khiển mongodb cho nodejs bằng thư viện npm. Chúng tôi sử dụng MongoClient() để tạo một phiên bản mới của MongoDB. Chúng ta sử dụng phương thức connect() của MongoClient để kết nối với cơ sở dữ liệu. Chúng tôi có thể tạo, đọc, cập nhật và xóa một/nhiều tài liệu trong MongoDB

Hàm nào được sử dụng để tìm nạp tất cả các bản ghi sinh viên của MongoDB thông qua NodeJS?

Hàm find() được sử dụng để xác định rằng chúng tôi muốn truy xuất tất cả tài liệu từ bộ sưu tập MongoDB.

Làm cách nào để kết nối với cơ sở dữ liệu MongoDB trong JavaScript?

Bước 1. Cài đặt trình điều khiển NodeJS và MongoDB JavaScript (NodeJS). .
Bước 2. Tạo một cụm miễn phí và nhận thông tin kết nối của cụm của bạn. .
Bước 3. Nhập MongoClient. .
Bước 4. Tạo chức năng chính của bạn. .
Bước 5. Liệt kê các cơ sở dữ liệu trong cụm của bạn. .
Bước 6. Triển khai Tập lệnh NodeJS của bạn