Hướng dẫn về nút js MongoDB

Cuối cùng tôi đã hiểu cách làm việc với Node, Express và MongoDB. Tôi muốn viết một bài hướng dẫn toàn diện để bạn không phải đau đầu như tôi đã trải qua

CRUD, Express và MongoDB

CRUD, Express và MongoDB là những từ lớn đối với một người chưa bao giờ chạm vào bất kỳ chương trình phía máy chủ nào trong đời. Hãy nhanh chóng giới thiệu chúng là gì trước khi chúng ta đi sâu vào hướng dẫn

Express là một framework để xây dựng các ứng dụng web trên Node. js. Nó đơn giản hóa quá trình tạo máy chủ đã có sẵn trong Node. Trong trường hợp bạn đang thắc mắc, Node cho phép bạn sử dụng JavaScript làm ngôn ngữ phía máy chủ của mình

MongoDB là một cơ sở dữ liệu. Đây là nơi bạn lưu trữ thông tin cho trang web (hoặc ứng dụng) của mình

CRUD là từ viết tắt của Tạo, Đọc, Cập nhật và Xóa. Đó là một tập hợp các hoạt động mà chúng tôi yêu cầu các máy chủ thực hiện (các yêu cầu lần lượt là ____00,

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
1,
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2 và
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
3). Đây là những gì mỗi hoạt động làm

  • Tạo (POST) - Tạo một cái gì đó
  • Đọc (GET)- Nhận một cái gì đó
  • Cập nhật (PUT) - Thay đổi điều gì đó
  • Xóa (DELETE)- Xóa thứ gì đó

Các yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0,
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
1,
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2 và
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
3 hãy để chúng tôi xây dựng API nghỉ ngơi

Nếu chúng ta đặt CRUD, Express và MongoDB cùng nhau thành một sơ đồ duy nhất, thì nó sẽ như thế này

Hướng dẫn về nút js MongoDB

Bây giờ CRUD, Express và MongoDB có ý nghĩa hơn với bạn không?

Tuyệt quá. Tiếp tục nào

Chúng ta sẽ cùng nhau xây dựng một ứng dụng đơn giản

Hãy xây dựng một ứng dụng đơn giản cho phép bạn theo dõi danh sách các trích dẫn từ các nhân vật trong Chiến tranh giữa các vì sao. Đây là những gì nó trông giống như

Hướng dẫn về nút js MongoDB

Miễn phí để xem bản demo trước khi tiếp tục với hướng dẫn này

Bài này DÀI. Hãy nhớ lấy mã nguồn bằng cách để lại tên và địa chỉ email của bạn trong biểu mẫu này. Tôi cũng sẽ gửi cho bạn bài viết này dưới dạng PDF để bạn có thể đọc nó khi rảnh rỗi

Nhân tiện, tôi sẽ không tập trung vào các phong cách vì chúng ta đang tập trung vào việc học Crud, Express và MongoDB trong hướng dẫn này

điều kiện tiên quyết

Bạn sẽ cần hai thứ để bắt đầu với hướng dẫn này

  1. Bạn không sợ gõ lệnh vào Dòng lệnh. Nếu bạn sợ, hãy sử dụng bài viết này để vượt qua nỗi sợ của bạn
  2. Bạn cần cài đặt Node

Để kiểm tra xem bạn đã cài đặt Node chưa, hãy mở Dòng lệnh của bạn và chạy đoạn mã sau

$ node -v
Hướng dẫn về nút js MongoDB

Bạn sẽ nhận được số phiên bản nếu đã cài đặt Node. Nếu không, bạn có thể cài đặt Node bằng cách tải xuống trình cài đặt từ trang web của Node hoặc tải xuống thông qua các trình quản lý gói như Homebrew (Mac) và Chocolatey (Windows).

Bắt đầu

Bắt đầu bằng cách tạo một thư mục cho dự án này. Hãy gọi nó là bất cứ điều gì bạn muốn. Sau khi bạn đã tạo thư mục, hãy điều hướng vào thư mục đó bằng Terminal và chạy

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
8

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
8 tạo một tệp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
10 giúp bạn quản lý các phụ thuộc (chúng tôi sẽ cài đặt tệp này khi chúng tôi xem qua hướng dẫn)

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2
Hướng dẫn về nút js MongoDB

Chỉ cần nhấn enter qua mọi thứ xuất hiện. Tôi sẽ nói về những điều bạn cần biết khi chúng ta tiếp tục.

Chạy Node lần đầu tiên trong đời

Cách đơn giản nhất để sử dụng nút là chạy lệnh

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
11 và chỉ định đường dẫn đến tệp. Hãy tạo một tệp có tên
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12 để chạy nút với

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
5

Tiếp theo, đặt câu lệnh

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
13 này vào
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12. Điều này cho chúng tôi biết liệu Node có chạy đúng cách hay không

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
8

Bây giờ, hãy chạy

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
15 trong dòng lệnh của bạn và bạn sẽ thấy điều này

 
Hướng dẫn về nút js MongoDB

Tuyệt vời. nút hoạt động. Bước tiếp theo là học cách sử dụng Express.

Sử dụng Express

Đầu tiên, chúng ta phải cài đặt Express. Chúng ta có thể làm điều này bằng cách chạy lệnh

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
16. (
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
17 được cài đặt với Node, đó là lý do tại sao bạn sử dụng các lệnh như
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
8 và
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
16)

Chạy lệnh

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
200 trong dòng lệnh của bạn

Cờ ________ 1201 lưu _______ 1202 dưới dạng ________ 1203 trong ________ 110. Điều quan trọng là phải biết các phần phụ thuộc này vì

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
17 có thể truy xuất các phần phụ thuộc bằng một lệnh
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
16 khác khi bạn cần sau này

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
Hướng dẫn về nút js MongoDB

Tiếp theo, chúng ta sử dụng express trong

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12 bằng cách yêu cầu.

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
3

Chúng tôi cần tạo một máy chủ mà các trình duyệt có thể kết nối với. Chúng tôi thực hiện việc này bằng cách sử dụng phương thức _______1208 của Express

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
5

Bây giờ, hãy chạy

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
15 và điều hướng đến
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
210 trên trình duyệt của bạn. Bạn sẽ thấy một thông báo có nội dung
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
211

 
Hướng dẫn về nút js MongoDB

Đó là một dấu hiệu tốt. Điều đó có nghĩa là giờ đây chúng tôi có thể giao tiếp với máy chủ tốc hành của mình thông qua trình duyệt. Đây là nơi chúng tôi bắt đầu hoạt động CRUD.

CRUD - ĐỌC

Các trình duyệt thực hiện thao tác ĐỌC khi bạn truy cập một trang web. Dưới vỏ bọc, họ gửi yêu cầu GET đến máy chủ để thực hiện thao tác ĐỌC này

Bạn thấy

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
211 vì máy chủ của chúng tôi không gửi gì trở lại trình duyệt

Trong Express, chúng tôi xử lý yêu cầu GET bằng phương thức

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
213

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
1

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
214 là điểm cuối được yêu cầu. Đó là giá trị xuất hiện sau tên miền của bạn. Dưới đây là một số ví dụ

  • Khi bạn truy cập vào
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    210, bạn thực sự đang truy cập vào
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    216. Trong trường hợp này, các trình duyệt đã yêu cầu
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    217
  • Bạn đang đọc bài viết này trên
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    218. Tên miền là
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    219. Điểm cuối được yêu cầu là bất kỳ thứ gì xuất hiện sau
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    219 (là
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    221)

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
222 cho máy chủ biết phải làm gì khi điểm cuối được yêu cầu khớp với điểm cuối đã nêu. Phải mất hai đối số. Một đối tượng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
223 và một đối tượng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
224

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})

Bây giờ, hãy viết

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
225 trở lại trình duyệt. Chúng tôi làm như vậy bằng cách sử dụng phương thức
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
226 đi kèm với đối tượng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
224

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
1

Tôi sẽ bắt đầu viết mã ES6 và đồng thời chỉ cho bạn cách chuyển đổi sang ES6. Trước hết, tôi đang thay thế

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
228 bằng chức năng mũi tên ES6. Mã dưới đây giống như mã trên

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
20

Bây giờ, khởi động lại máy chủ của bạn bằng cách làm như sau

  1. Dừng máy chủ hiện tại bằng cách nhấn
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    229 trong dòng lệnh
  2. Chạy lại
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    15

Sau đó, điều hướng đến

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
210 trên trình duyệt của bạn. Bạn sẽ có thể thấy một chuỗi có nội dung “Xin chào thế giới”

 
Hướng dẫn về nút js MongoDB

Tuyệt vời.

Tiếp theo, hãy thay đổi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12 để chúng tôi cung cấp trang
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
233 trở lại trình duyệt. Để làm điều này, chúng ta sử dụng phương thức
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
234 được cung cấp bởi đối tượng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
235

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
21

Trong phương pháp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
234 ở trên, chúng tôi đã yêu cầu Express cung cấp tệp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
233 có thể tìm thấy trong thư mục gốc của thư mục dự án của bạn. Chúng tôi chưa có tệp đó. Hãy thực hiện nó ngay bây giờ

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
22

Hãy thêm một số văn bản vào tệp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
233 của chúng tôi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
23

Khởi động lại máy chủ của bạn và làm mới trình duyệt của bạn. Bạn sẽ có thể xem tệp HTML của mình ngay bây giờ

 
Hướng dẫn về nút js MongoDB

Đây là cách Express xử lý tóm tắt yêu cầu GET (thao tác ĐỌC).

Tại thời điểm này, có lẽ bạn đã nhận ra rằng bạn cần khởi động lại máy chủ của mình bất cứ khi nào bạn thực hiện thay đổi đối với

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12. Quá trình này cực kỳ tẻ nhạt, vì vậy, hãy nhanh chóng đi đường vòng và hợp lý hóa nó bằng cách sử dụng một công cụ có tên là gật đầu

Nhập Nodemon

Nodemon tự động khởi động lại máy chủ khi bạn lưu tệp được sử dụng bởi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12. Chúng ta có thể cài đặt Nodemon bằng lệnh sau

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
24

Chúng tôi sử dụng cờ

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
241 ở đây vì chúng tôi chỉ sử dụng Nodemon khi chúng tôi đang phát triển nội dung. Chúng tôi sẽ không sử dụng Nodemon trên một máy chủ thực tế.
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
241 ở đây thêm Nodemon dưới dạng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
243 trong tệp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
10

Hướng dẫn về nút js MongoDB

Nodemon hoạt động như Node. Vì vậy, bạn có thể chạy

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
245 và bạn sẽ thấy điều tương tự. Thật không may, điều này chỉ hoạt động nếu bạn đã cài đặt gật đầu trên toàn cầu với cờ
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
246 (và chúng tôi đã không làm điều này)

Chúng tôi có những cách khác để chạy Nodemon. Ví dụ: bạn có thể thực thi Nodemon trực tiếp từ thư mục

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
247. Điều này là siêu khó sử dụng, nhưng nó hoạt động

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
25

Chúng ta có thể làm mọi thứ đơn giản hơn bằng cách thêm khóa

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
248 vào tệp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
10. Điều này cho phép chúng tôi chạy
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
245 mà không cần phần mở đầu
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
251

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
26

Bây giờ, bạn có thể chạy

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
252 để kích hoạt
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
245

Hướng dẫn về nút js MongoDB

Quay lại chủ đề chính. Tiếp theo chúng ta sẽ đề cập đến thao tác CREATE

CRUD - TẠO

Các trình duyệt chỉ có thể thực hiện thao tác TẠO nếu chúng gửi yêu cầu POST tới máy chủ. Yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0 này có thể được kích hoạt thông qua JavaScript hoặc thông qua phần tử
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255

Bây giờ chúng ta hãy tìm hiểu cách sử dụng phần tử

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255 để tạo các mục nhập mới cho ứng dụng báo giá Chiến tranh giữa các vì sao này. Chúng ta sẽ kiểm tra cách gửi yêu cầu qua JavaScript sau

Để gửi yêu cầu POST qua ________ 1255, bạn cần thêm phần tử ________ 1255 vào tệp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
233 của mình

Bạn cần ba điều trên phần tử biểu mẫu này

  1. Thuộc tính
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    260
  2. Thuộc tính
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    261
  3. Thuộc tính
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    262 trên mỗi phần tử
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    263 trong biểu mẫu
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
27

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
261 cho trình duyệt biết loại yêu cầu gửi. Trong trường hợp này, chúng tôi sử dụng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0 vì chúng tôi đang gửi yêu cầu
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0

Thuộc tính

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
260 cho trình duyệt biết nơi gửi yêu cầu
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0. Trong trường hợp này, chúng tôi sẽ gửi yêu cầu
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0 tới
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
270

Chúng tôi có thể xử lý yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0 này bằng phương pháp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
272 trong
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12. Đường dẫn
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
274 phải là giá trị bạn đã đặt trong thuộc tính
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
260

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
28

Khởi động lại máy chủ của bạn (hy vọng bạn đã thiết lập Nodemon để nó tự động khởi động lại) và làm mới trình duyệt của bạn. Sau đó, nhập nội dung nào đó vào phần tử

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255 và gửi biểu mẫu. Tiếp theo, nhìn vào dòng lệnh của bạn. Bạn sẽ thấy
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
277 trong dòng lệnh của mình

 
Hướng dẫn về nút js MongoDB

Tuyệt vời, chúng tôi biết rằng Express hiện đang xử lý biểu mẫu cho chúng tôi. Câu hỏi tiếp theo là, làm cách nào để chúng tôi nhận được các giá trị đầu vào bằng Express?

Hóa ra, Express không tự xử lý việc đọc dữ liệu từ phần tử

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255. Chúng ta phải thêm một gói khác gọi là body-parser để có được chức năng này

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
29

Body-parser là một phần mềm trung gian. Chúng giúp dọn dẹp đối tượng

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
223 trước khi chúng ta sử dụng chúng. Express cho phép chúng tôi sử dụng phần mềm trung gian với phương pháp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
280

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
50

Phương thức

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
281 trong body-parser yêu cầu body-parser trích xuất dữ liệu từ phần tử
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255 và thêm chúng vào thuộc tính
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
283 trong đối tượng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
223

Bạn sẽ có thể xem các giá trị từ phần tử

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255 bên trong
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
286 ngay bây giờ. Hãy thử làm một
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
13 và xem nó là gì

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
51

Bạn sẽ thấy một đối tượng tương tự như sau

Hướng dẫn về nút js MongoDB

Hừm

Sư phụ Yoda đã lên tiếng. Hãy chắc chắn rằng chúng ta nhớ những lời của Yoda. Nó quan trọng. Chúng tôi muốn có thể truy xuất nó vào lần tới khi chúng tôi tải trang chỉ mục của mình

Nhập cơ sở dữ liệu, MongoDB

MongoDB

MongoDB là một cơ sở dữ liệu. Chúng tôi có thể lưu trữ thông tin vào cơ sở dữ liệu này để ghi nhớ các từ của Yoda. Sau đó, chúng tôi có thể truy xuất thông tin này và hiển thị cho những người xem ứng dụng của chúng tôi

Tôi thường sử dụng Mongoose (là một khung cho MongoDB) khi tôi sử dụng MongoDB. Tôi sẽ hướng dẫn bạn cách sử dụng MongoDB cơ bản trong bài viết này. Nếu bạn muốn tìm hiểu Mongoose, hãy cân nhắc đọc bài viết của tôi về Mongoose

Trước tiên, chúng ta cần cài đặt MongoDB qua npm

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
52

Sau khi cài đặt, chúng tôi có thể kết nối với MongoDB thông qua phương thức kết nối của

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
288 như được hiển thị trong mã bên dưới

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
53
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
54

Phần tiếp theo là lấy liên kết chính xác đến cơ sở dữ liệu của chúng tôi. Hầu hết mọi người lưu trữ cơ sở dữ liệu của họ trên các dịch vụ đám mây như MongoDB Atlas. Chúng tôi cũng sẽ làm như vậy. (Nó miễn phí)

Bạn cũng có thể tạo cơ sở dữ liệu trên máy tính của mình cho công việc phát triển. Đọc “Cách thiết lập Kết nối MongoDB cục bộ” để được hướng dẫn

Thiết lập bản đồ MongoDB

Hãy tiếp tục và tạo một tài khoản trên MongoDB Atlas. Sau khi hoàn tất, bạn cần tạo một “Tổ chức”. Nó giống như một tên công ty. Bạn có thể đặt tên cho nó bất cứ điều gì bạn muốn. (Bạn có thể thay đổi nó sau)

Hướng dẫn về nút js MongoDB

Bạn cũng cần chọn một dịch vụ đám mây. Hãy tiếp tục với MongoDB Atlas trong trường hợp này

 
Hướng dẫn về nút js MongoDB

Tiếp theo, bạn cần đặt quyền cho người dùng. MongoDB Atlas sẽ tự động điền địa chỉ email hiện tại của bạn với tư cách là người dùng. Vì vậy, chỉ cần tiếp tục bước tiếp theo.

Bạn sẽ kết thúc với một màn hình trông như thế này

Hướng dẫn về nút js MongoDB

Tiếp theo, bạn cần tạo Cơ sở dữ liệu trong MongoDB Atlas. Có một số bước để làm điều này

Đầu tiên, bạn cần tạo một Project mới. Bạn có thể thực hiện việc này bằng cách vào phần “Ngữ cảnh” ở menu trên cùng bên trái. Nhấp vào menu thả xuống. Sau đó, chọn Dự án mới

Hướng dẫn về nút js MongoDB

Tiếp theo, bạn sẽ cần đặt tên cho dự án của mình. Gọi nó là bất cứ điều gì bạn muốn. Tôi sẽ gọi đây là

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
289

Hướng dẫn về nút js MongoDB

Sau đó, bạn sẽ cần thêm thành viên. Một lần nữa, bạn đã được thêm vào, vì vậy hãy tiếp tục và nhấp vào “Tạo dự án” để tiếp tục

Bạn sẽ kết thúc với một màn hình có nội dung Tạo cụm

Hướng dẫn về nút js MongoDB

Nhấp vào “Xây dựng cụm”. Bạn sẽ thấy màn hình này

Hướng dẫn về nút js MongoDB

Chọn cụm miễn phí (tùy chọn bên trái) và tiếp tục. Bây giờ bạn sẽ thấy một màn hình để định cấu hình một cụm. Cuộn xuống. Hãy chắc chắn rằng bạn nhìn thấy hai điều này

  1. Cấp cụm là Hộp cát M0
  2. Ước tính hàng tháng là MIỄN PHÍ
Hướng dẫn về nút js MongoDB

Nhấp vào Tạo cụm tiếp theo. Bạn sẽ thấy “Cụm của bạn đang được tạo”

Hướng dẫn về nút js MongoDB

Bạn phải đợi khoảng 5 phút để tạo cụm. Khi cụm đã sẵn sàng, bạn sẽ thấy điều này

Hướng dẫn về nút js MongoDB

Bây giờ, chúng tôi cần kết nối ứng dụng Chiến tranh giữa các vì sao với cụm này

Kết nối với MongoDB Atlas

Nhấp vào nút Kết nối

Hướng dẫn về nút js MongoDB

Một phương thức sẽ bật lên

Hướng dẫn về nút js MongoDB

Bạn cần đưa địa chỉ IP của mình vào danh sách trắng trước khi có thể kết nối với cụm của mình. Đây là một tính năng bảo mật được tích hợp trong MongoDB Atlas. Hãy tiếp tục và nhấp vào “Thêm địa chỉ IP hiện tại của bạn”

Hướng dẫn về nút js MongoDB

Tiếp theo, bạn cần tạo một người dùng MongoDB. Tên người dùng và mật khẩu này khác với tên người dùng và mật khẩu bạn đã sử dụng để đăng nhập vào MongoDB Atlas. Tên người dùng và mật khẩu này CHỈ được sử dụng cho cơ sở dữ liệu

Đảm bảo bạn nhớ người dùng và mật khẩu MongoDB. Chúng tôi sẽ sử dụng nó để kết nối với cơ sở dữ liệu

Hướng dẫn về nút js MongoDB

Tiếp theo, nhấp vào chọn phương thức kết nối của bạn. Chọn “Kết nối với ứng dụng của bạn” và sao chép chuỗi kết nối

Hướng dẫn về nút js MongoDB
Hướng dẫn về nút js MongoDB

Chuỗi kết nối sẽ trông giống như thế này

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
55

Bạn cần thay thế 2 thứ ở đây

  1. Thay thế
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    290 bằng tên người dùng Cơ sở dữ liệu của bạn
  2. Thay thế
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    291 bằng mật khẩu của người dùng Cơ sở dữ liệu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
292 trong chuỗi kết nối trỏ đến cơ sở dữ liệu
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
292. Bạn sẽ cần thay thế
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
292 bằng tên cơ sở dữ liệu của mình nếu bạn sử dụng Mongoose. Bạn có thể để nó là
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
292 nếu bạn sử dụng MongoClient như những gì chúng tôi đang làm trong hướng dẫn này

Đặt chuỗi kết nối này bên trong

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
296

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
56

Chúng tôi biết chúng tôi đã kết nối với cơ sở dữ liệu nếu không có lỗi. Hãy tạo câu lệnh

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
13 có nội dung “Đã kết nối với cơ sở dữ liệu”. Điều này sẽ giúp chúng tôi biết chúng tôi đã kết nối với cơ sở dữ liệu khi chúng tôi khởi động lại máy chủ

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
57

Bạn sẽ thấy một cái gì đó như thế này

Hướng dẫn về nút js MongoDB

Bạn có thể xóa cảnh báo không dùng nữa bằng cách thêm tùy chọn vào

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
296

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
58
Hướng dẫn về nút js MongoDB

MongoDB hỗ trợ các lời hứa. Nếu bạn muốn sử dụng lời hứa thay vì gọi lại, bạn có thể viết

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
296 như thế này. Nó hoạt động chính xác như đoạn mã trên.

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
59

Hãy đọc bài viết này nếu bạn muốn tìm hiểu về promise trong JavaScript

Thay đổi cơ sở dữ liệu

Chúng ta cần thay đổi cơ sở dữ liệu từ

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
292 sang thứ khác. Bạn có thể đặt tên cho nó bất cứ điều gì bạn muốn. Tôi đã chọn đặt tên cho cơ sở dữ liệu mới của mình là
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
501 vì nó giúp tôi nhớ những gì tôi đang xây dựng

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
80

MongoDB và máy chủ

Chúng tôi cần biến

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
502 từ kết nối để truy cập MongoDB. Điều này có nghĩa là chúng tôi cần đặt trình xử lý yêu cầu rõ ràng của mình vào lệnh gọi
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
503 của MongoClient

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
81

Cuối cùng thì chúng ta cũng có thể lưu trữ trích dẫn của Yoda vào cơ sở dữ liệu ngay bây giờ

CRUD - TẠO (còn tiếp)

Chúng tôi cần tạo một

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
504 trước khi có thể lưu trữ các mục vào cơ sở dữ liệu. Đây là một phép loại suy đơn giản để giúp bạn làm rõ các thuật ngữ trong MongoDB

  • Hãy tưởng tượng một cơ sở dữ liệu là một căn phòng
  • Một căn phòng chứa những chiếc hộp (
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    505)

Giống như Cơ sở dữ liệu, bạn có thể đặt tên cho bộ sưu tập theo bất kỳ thứ gì bạn muốn. Trong trường hợp này, hãy lưu trữ báo giá vào bộ sưu tập

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
506. Chúng tôi sử dụng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
507 để chỉ định bộ sưu tập

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
82

Chúng ta có thể sử dụng phương thức

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
508 để thêm các mục vào bộ sưu tập MongoDB

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
83

Hãy thử gửi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255 từ trình duyệt. Bạn sẽ thấy một
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
510 trông rất đáng sợ trong Terminal

Hướng dẫn về nút js MongoDB

Nếu bạn thấy điều này, xin chúc mừng. Bạn đã thêm thành công báo giá vào cơ sở dữ liệu

Bạn có thể kiểm tra các mục bên trong cơ sở dữ liệu bằng cách đi tới “Bộ sưu tập” trong MongoDB Atlas

Hướng dẫn về nút js MongoDB

Bạn sẽ thấy một tài liệu trong cơ sở dữ liệu của bạn. (Mỗi mục cơ sở dữ liệu được gọi là một tài liệu)

Hướng dẫn về nút js MongoDB

Nếu bạn quay lại Trình duyệt, bạn sẽ thấy nó vẫn đang cố tải nội dung nào đó

Hướng dẫn về nút js MongoDB

Điều này xảy ra vì trình duyệt mong đợi một cái gì đó trở lại từ máy chủ

Trong trường hợp này, chúng tôi không cần gửi thông tin trình duyệt. Thay vào đó, hãy yêu cầu trình duyệt chuyển hướng trở lại

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
217. Chúng tôi làm điều này với
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
512

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
84
Hướng dẫn về nút js MongoDB

Yay.

Vì chúng tôi có một số trích dẫn trong bộ sưu tập, hãy hiển thị chúng cho người dùng của chúng tôi khi họ truy cập trang

Hiển thị báo giá cho người dùng (thao tác ĐỌC)

Chúng tôi cần thực hiện hai việc để hiển thị trích dẫn từ MongoDB Atlas cho người dùng của mình

  1. Nhận báo giá từ MongoDB Atlas
  2. Kết xuất các trích dẫn trong HTML bằng một công cụ mẫu

Hãy đi từng bước một

Nhận báo giá từ MongoDB

Chúng tôi có thể lấy các trích dẫn mà chúng tôi đã lưu trữ trong MongoDB bằng phương pháp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
513. Phương pháp này từ mLab bằng cách sử dụng phương pháp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
513 có sẵn trong phương pháp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
504

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
85

Phương thức

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
513 trả về một
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
517 sẽ không hợp lý nếu bạn đã thử đăng nhập nó

 
Hướng dẫn về nút js MongoDB

Nhưng đối tượng

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
517 này chứa tất cả các trích dẫn từ cơ sở dữ liệu của chúng tôi. Nó có một loạt phương thức cho phép chúng tôi lấy dữ liệu của mình. Ví dụ: chúng ta có thể sử dụng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
519 để chuyển đổi dữ liệu thành một mảng.

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
86 
Hướng dẫn về nút js MongoDB

Tuyệt vời. Chúng tôi thấy các trích dẫn chúng tôi đã thêm. (Bạn thấy rất nhiều trích dẫn giống nhau vì tôi đã thêm tất cả chúng khi viết hướng dẫn này 😆).

Tiếp theo, chúng tôi muốn tạo một HTML chứa tất cả các trích dẫn của chúng tôi

Kết xuất HTML

Chúng tôi không thể cung cấp tệp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
233 và mong đợi các trích dẫn xuất hiện một cách kỳ diệu vì không có cách nào để thêm nội dung động vào tệp HTML

Thay vào đó, những gì chúng ta có thể làm là sử dụng một công cụ mẫu để tạo HTML. Các công cụ mẫu phổ biến bao gồm Pug, JavaScript nhúng và Nunjucks

Tôi đã viết rất nhiều về cách thức và lý do của các công cụ mẫu trong một bài viết riêng. Bạn có thể muốn kiểm tra nếu bạn không biết công cụ mẫu là gì

Tôi sử dụng Nunjucks làm công cụ mẫu mà tôi lựa chọn. Hãy xem bài viết để tìm hiểu lý do tại sao

Đối với hướng dẫn này, chúng tôi sẽ sử dụng Embedded JavaScript (EJS) làm công cụ mẫu của chúng tôi vì đây là công cụ dễ bắt đầu nhất. Bạn sẽ thấy nó quen thuộc ngay từ đầu vì bạn sẽ viết HTML và JavaScript

Sử dụng EJS

Đầu tiên, chúng ta cần cài đặt EJS

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
87

Tiếp theo, chúng ta cần đặt

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
521 thành
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
522. Điều này cho Express biết chúng tôi đang sử dụng EJS làm công cụ mẫu. Bạn cần đặt nó trước bất kỳ phương thức
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
523,
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
524 hoặc
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
525 nào

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
88

Bây giờ chúng ta có thể tạo HTML có chứa dấu ngoặc kép. Quá trình này được gọi là hiển thị HTML

Chúng tôi sẽ sử dụng phương pháp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
526 được tích hợp trong Express's
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
224. Nó cần tuân theo cú pháp sau

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
89
  • // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    528 là tên của tệp chúng tôi đang kết xuất. Tệp này phải được đặt bên trong thư mục
    // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    529
  • // We normally abbreviate `request` to `req` and `response` to `res`.
    app.get('/', function (req, res) {
      // do something here
    })
    
    530 là dữ liệu được truyền vào tệp

Hãy tạo một khung nhìn. Chúng tôi sẽ tạo một tệp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531 bên trong thư mục lượt xem

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
10

Chúng tôi sẽ sao chép/dán mọi thứ từ

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
233 vào
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
11

Tiếp theo, chúng tôi sẽ sử dụng

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
534 để hiển thị tệp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531 này

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12

Nếu bạn làm mới trang, bạn vẫn sẽ thấy điều tương tự. Không có gì nên thay đổi, không có gì nên phá vỡ

Hướng dẫn về nút js MongoDB

Hãy đặt các trích dẫn vào

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531. Để làm điều này, chúng ta cần chuyển các trích dẫn vào phương thức
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
526

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
13

Trong

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531, chúng tôi có thể sử dụng các biến vị trí giữa các thẻ
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
539 và
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
540. Hãy thử đưa
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
506 vào HTML

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
14

Bạn nên xem thứ này

Hướng dẫn về nút js MongoDB

Chúng tôi thấy rất nhiều

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
542 vì mỗi trích dẫn bên trong
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
543 là một đối tượng JavaScript.
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
522 không thể tự động chuyển đổi đối tượng đó thành HTML

Chúng ta cần lặp qua các trích dẫn. Chúng ta có thể làm điều này với vòng lặp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
545. Trong EJS, chúng tôi viết một vòng lặp for giống như cách chúng tôi viết một vòng lặp JavaScript
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
545. Sự khác biệt duy nhất là chúng ta cần đặt các câu lệnh vòng lặp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
545 giữa
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
548 và
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
540

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
15
Hướng dẫn về nút js MongoDB

CRUD - CẬP NHẬT

Chúng tôi sử dụng thao tác CẬP NHẬT khi chúng tôi muốn thay đổi điều gì đó. Nó có thể được kích hoạt với yêu cầu PUT. Giống như

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
0,
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2 có thể được kích hoạt thông qua JavaScript hoặc thông qua phần tử
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255

Hãy thay đổi mọi thứ và sử dụng JavaScript vì bạn đã biết cách sử dụng các phần tử

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
255

Đối với thao tác cập nhật này, chúng tôi sẽ tạo một nút thay thế câu trích dẫn đầu tiên của Yoda thành một cái gì đó được viết bởi Darth Vader

Để làm điều này, chúng ta cần thêm một

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
554 vào tệp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
16
Hướng dẫn về nút js MongoDB

Chúng tôi cũng sẽ tạo một tệp JavaScript bên ngoài để thực hiện yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2. Theo quy ước của Express, JavaScript này được giữ trong một thư mục có tên là
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
557

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
17

Sau đó, chúng tôi phải yêu cầu Express cung cấp công khai thư mục ________ 1557 này bằng cách sử dụng phần mềm trung gian tích hợp có tên là ________ 1559

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
18

Bây giờ chúng ta có thể thêm tệp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
560 vào tệp
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
19

Chúng tôi sẽ gửi yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2 khi nút được nhấp. Điều này có nghĩa là chúng ta cần lắng nghe sự kiện
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
563

Tiếp theo, chúng tôi sẽ gửi yêu cầu PUT khi nhấp vào nút

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
30

Gửi yêu cầu PUT

Cách dễ nhất để kích hoạt yêu cầu PUT trong các trình duyệt hiện đại là sử dụng Fetch API

Fetch có cú pháp sau

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
31

Trong trường hợp này, giả sử chúng tôi muốn gửi yêu cầu tới

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
270. Chúng tôi sẽ đặt
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
214 thành
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
270

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
32

Lần này chúng ta cần gửi một yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2. Chúng ta có thể làm điều này bằng cách đặt phương thức của Fetch thành
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
568

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
33

Các ứng dụng hiện đại gửi dữ liệu JSON đến máy chủ. Họ cũng nhận dữ liệu JSON trở lại máy chủ. JSON là viết tắt của Ký hiệu đối tượng JavaScript. Chúng giống như các đối tượng JavaScript, nhưng mỗi thuộc tính và giá trị được viết giữa hai dấu ngoặc kép

Đây là một ví dụ về dữ liệu JavaScript

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
34

Và đối tác JSON của nó trông như thế nào. (Lưu ý cách mọi thứ được bao bọc giữa hai

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
569)

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
35

Chúng tôi cần thông báo cho máy chủ rằng chúng tôi đang gửi dữ liệu JSON bằng cách đặt các tiêu đề

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
570 thành
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
571

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
36

Tiếp theo, chúng tôi cần chuyển đổi dữ liệu chúng tôi gửi thành JSON. Chúng ta có thể làm điều này với

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
572. Dữ liệu này được truyền qua thuộc tính
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
283

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
37

Chấp nhận yêu cầu PUT

Máy chủ của chúng tôi chưa chấp nhận dữ liệu JSON. Chúng ta có thể dạy nó đọc JSON bằng cách thêm phần mềm trung gian

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
575 của
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
574

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
38

Tiếp theo, chúng ta có thể xử lý yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2 bằng phương thức
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
568. Bạn sẽ có thể thấy các giá trị chúng tôi gửi từ yêu cầu tìm nạp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
39
Hướng dẫn về nút js MongoDB

Bước tiếp theo là thay đổi câu trích dẫn đầu tiên của Yoda thành câu trích dẫn này của Darth Vader.

Thay đổi trích dẫn của Yoda

Bộ sưu tập MongoDB đi kèm với một phương thức gọi là

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
578. Phương pháp này cho phép chúng tôi tìm và thay đổi một mục trong cơ sở dữ liệu. Nó có cú pháp sau

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
50

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
579 cho phép chúng tôi lọc bộ sưu tập bằng các cặp khóa-giá trị. Nếu chúng tôi muốn lọc các trích dẫn cho những trích dẫn do Yoda viết, chúng tôi có thể đặt
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
580 làm truy vấn

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
51

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
581, cho MongoDB biết những gì cần thay đổi. Nó sử dụng các toán tử cập nhật MongoDB như ________ 1582, ________ 1583 và ________ 1584

Chúng tôi sẽ sử dụng toán tử

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
582 vì chúng tôi đang thay đổi các trích dẫn của Yoda thành các trích dẫn của Darth Vader

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
52

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
586 yêu cầu MongoDB xác định các tùy chọn bổ sung cho yêu cầu cập nhật này

Trong trường hợp này, có thể không có trích dẫn Yoda nào tồn tại trong cơ sở dữ liệu. Chúng tôi có thể buộc MongoDB tạo một trích dẫn Darth Vader mới nếu không có trích dẫn Yoda nào tồn tại. Chúng tôi thực hiện việc này bằng cách đặt

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
587 thành
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
588.
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
587 có nghĩa là. Chèn tài liệu nếu không có tài liệu nào có thể được cập nhật

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
53

Cuối cùng, hãy đăng nhập

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
510 vào dòng lệnh

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
54

Hãy thử nhấp vào nút “thay thế trích dẫn Yoda đầu tiên” trong trình duyệt. Bạn sẽ thấy kết quả này trong dòng lệnh của mình. Điều này nói rằng chúng tôi đã thay đổi một trong những trích dẫn của Yoda

Hướng dẫn về nút js MongoDB

Nếu bạn làm mới trình duyệt, bạn sẽ thấy câu nói của Darth Vader là câu nói đầu tiên

Hướng dẫn về nút js MongoDB

Bạn có thấy

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
578 phức tạp không? . Đây là lý do tại sao tôi sử dụng Mongoose thay vì MongoDB. Bạn có thể tìm hiểu thêm về Mongoose trong bài viết này

Cuối cùng, chúng tôi cần phản hồi JavaScript đã gửi yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
2. Trong trường hợp này, chúng tôi chỉ cần gửi thông báo
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
593

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
55

Tiếp theo, chúng ta có thể xử lý phản hồi từ máy chủ thông qua đối tượng

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
503. (Chúng tôi làm điều này vì
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
595 thực hiện lại lời hứa). Tuy nhiên, Tìm nạp hơi khác so với hầu hết các lời hứa. Bạn cần sử dụng một đối tượng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
503 khác để nhận phản hồi từ máy chủ

Đây là những gì bạn nên làm

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
56

Bạn sẽ có thể thấy thông báo

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
597 từ máy chủ trong bảng điều khiển

Hướng dẫn về nút js MongoDB

Tôi đã viết một bài báo về Fetch API nếu bạn đang thắc mắc tại sao chúng ta cần hai cuộc gọi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
503. Cho nó một đọc. Nó sẽ giúp củng cố sự hiểu biết của bạn

Nếu bạn đang làm việc trên một ứng dụng web ưa thích, bạn có thể sử dụng JavaScript để cập nhật DOM, để người dùng thấy những thay đổi mới ngay lập tức

Tuy nhiên, việc cập nhật DOM nằm ngoài phạm vi của bài viết này, vì vậy chúng tôi sẽ làm mới trình duyệt để xem các thay đổi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
57

Nếu bạn muốn học cách sử dụng JavaScript để cập nhật DOM, tôi khuyên bạn nên tham gia khóa học Tìm hiểu JavaScript của tôi. Tôi thậm chí còn dạy bạn cách làm cho giao diện của bạn nhanh và linh hoạt. (Kiểm tra Thành phần Todolist)

Đó là nó cho hoạt động CẬP NHẬT. Hãy chuyển sang xóa

CRUD - XÓA

Thao tác XÓA có thể được kích hoạt thông qua yêu cầu XÓA. Nó tương tự như yêu cầu

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
599, vì vậy điều này sẽ đơn giản nếu bạn hiểu những gì chúng tôi đã làm ở trên

Đối với điều này, hãy xóa trích dẫn đầu tiên của Darth Vader

Đầu tiên, chúng ta cần thêm nút xóa vào

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
531

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
58
Hướng dẫn về nút js MongoDB

Sau đó, chúng tôi sẽ kích hoạt yêu cầu XÓA thông qua Tìm nạp khi người dùng nhấp vào nút xóa.

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
59

Vì chúng tôi đang xóa một trích dẫn của Darth Vader, nên chúng tôi chỉ cần gửi tên của Darth Vader đến máy chủ

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
10

Sau đó, chúng tôi có thể xử lý sự kiện ở phía máy chủ của mình bằng phương pháp

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
801

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
11

Xóa tài liệu khỏi MongoDB

Bộ sưu tập MongoDB có một phương thức gọi là

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
802. Nó cho phép chúng tôi xóa một tài liệu khỏi cơ sở dữ liệu. Nó nhận hai tham số.
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
579 và
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
586

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
12

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
579 hoạt động giống như
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
579 trong
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
578. Nó cho phép chúng tôi lọc bộ sưu tập theo các mục mà chúng tôi đang tìm kiếm. Trong trường hợp này, chúng ta có thể đặt
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
262 thành Darth Vader

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
13

Tuy nhiên, vì chúng tôi đã chuyển tên

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
809 từ Fetch, chúng tôi không cần mã hóa nó trong Express nữa. Chúng ta chỉ có thể sử dụng
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
810

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
14

Trong trường hợp này, chúng tôi không cần thay đổi bất kỳ tùy chọn nào, vì vậy chúng tôi có thể bỏ qua

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
586

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
15

Sau đó, chúng tôi có thể gửi phản hồi lại cho JavaScript trong cuộc gọi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
503

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
16

Bây giờ, khi bạn nhấp vào nút xóa, trình duyệt sẽ gửi yêu cầu XÓA thông qua Tìm nạp tới máy chủ Express của chúng tôi. Sau đó, máy chủ phản hồi bằng cách gửi lại lỗi hoặc tin nhắn

Điều gì sẽ xảy ra nếu không có thêm trích dẫn nào của Darth Vader?

Nếu không có thêm câu trích dẫn nào của Darth Vader, ________ 1813 sẽ là _______ 1814. Chúng tôi có thể gửi một thông báo cho trình duyệt biết rằng không còn trích dẫn Darth Vader nào để xóa

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
17

Nếu JavaScript nhận được phản hồi

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
815, chúng tôi có thể thông báo cho người dùng rằng không có câu trích dẫn nào của Darth Vader để xóa

Để làm điều này, hãy thêm một yếu tố mà chúng tôi có thể cho người dùng biết về thông báo này

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
18

Nếu chúng tôi nhận được

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
815, chúng tôi có thể thay đổi
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
817 của div
// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
818 này

// We normally abbreviate `request` to `req` and `response` to `res`.
app.get('/', function (req, res) {
  // do something here
})
19
Hướng dẫn về nút js MongoDB

Đó là thao tác XÓA.

Làm cho nó trông đẹp hơn…

Bước cuối cùng là làm cho ứng dụng trông đẹp hơn một chút bằng cách thêm một số kiểu

Hướng dẫn về nút js MongoDB

kết thúc

Chúng tôi đã trình bày RẤT NHIỀU trong hướng dẫn lớn này. Đây là danh sách những việc chúng ta đã làm cùng nhau

  1. Hiểu Express, Node và MongoDB được sử dụng để làm gì
  2. Đã hiểu CRUD
  3. Đã thực hiện các thao tác Tạo, Đọc, Cập nhật và Xóa
  4. Đã tạo tài khoản Atlas cho MongoDB
  5. Lưu, đọc, cập nhật và xóa khỏi MongoDB
  6. Hiển thị dữ liệu biến với công cụ mẫu

Bây giờ bạn đã học được tất cả những gì bạn cần biết về cách tạo các ứng dụng đơn giản với Node, Express và MongoDB. Bây giờ, hãy tiếp tục và tạo ra nhiều ứng dụng hơn, bạn trẻ. mạnh mẽ lên

Lấy mã nguồn

Bạn có thể lấy mã nguồn bằng cách để lại tên và địa chỉ email của mình trong biểu mẫu này. Tôi cũng sẽ gửi cho bạn bài viết này dưới dạng PDF để bạn có thể đọc nó khi rảnh rỗi

đọc thêm

Đây là một số bài đọc thêm nếu bạn muốn tiếp tục với hành trình Node, Express, MongoDB

  • Bài viết nhanh
    • 3 phần mềm trung gian Express hữu ích
    • Xử lý lỗi Express
    • JavaScript không đồng bộ/chờ đợi
    • Sử dụng Async/await trong Express
  • Bài viết MongoDB
    • cầy mangut 101
  • Thử nghiệm bài viết liên quan
    • Thử nghiệm điểm cuối với Jest và Supertest
    • Kết nối Jest và Mongoose

Nếu bạn thích bài viết này, hãy ủng hộ tôi bằng cách chia sẻ bài viết này trên Twitter hoặc mua cho tôi một ly cà phê 😉. Nếu bạn phát hiện lỗi đánh máy, tôi đánh giá cao nếu bạn có thể sửa nó trên GitHub. Cảm ơn bạn

Làm cách nào để sử dụng nút js với MongoDB?

Làm cách nào để khởi động MongoDB trong Node. js? .
Cài đặt trình điều khiển MongoDB, sử dụng npm
Nhập MongoClient ở đầu tệp của bạn
Tạo một phiên bản MongoClient mới và chuyển chuỗi kết nối của bạn làm tham số
Kết nối bằng cách sử dụng phương pháp kết nối. Để biết thêm chi tiết, hãy làm theo hướng dẫn này

MongoDB có tốt cho nút JS không?

Có thể xử lý nhiều loại dữ liệu và lượng dữ liệu khổng lồ . Nó cung cấp một Nút MongoDB. js cung cấp API JavaScript và triển khai giao thức mạng cần thiết để đọc và ghi từ cơ sở dữ liệu MongoDB cục bộ hoặc từ xa. Tất cả những gì bạn phải làm là cài đặt gói NPM -mongodb trong Mã ứng dụng của mình.

Tại sao MongoDB được sử dụng với nút js?

Nút MongoDB. trình điều khiển js sử dụng MongoDB với Node. js trải nghiệm liền mạch . Trình điều khiển tự động ánh xạ các đối tượng JavaScript sang tài liệu BSON, nghĩa là các nhà phát triển có thể dễ dàng làm việc với dữ liệu của họ.

Nút JS và MongoDB có giống nhau không?

MongoDB là một cơ sở dữ liệu NoSQL được sử dụng rộng rãi. Khả năng lưu trữ dữ liệu ở một số định dạng làm cho MongoDB trở thành một công cụ hữu ích để quản lý lượng lớn dữ liệu. Mặt khác, Nodejs là một môi trường thời gian chạy nổi tiếng hỗ trợ thực thi mã JavaScript bên ngoài trình duyệt .