Bây giờ chúng ta đã tìm hiểu về trình điều khiển nút MongoDB, mô-đun nút,
cho phép ứng dụng nút của chúng ta có thể tương tác
với một máy chủ MongoDB, trong bài tập này,
chúng ta sẽ sử dụng mô-đun nút và sử dụng các phương pháp khác nhau được
hỗ trợ bởi module nút để cung cấp giới thiệu với máy chủ MongoDB của chúng tôi.
Để bắt đầu, hãy vào
thư mục NodeJS mà bạn đã sử dụng để lưu trữ tất cả các ví dụ của bạn,
và sau đó tạo một thư mục mới có tên là node-mongo.
Trong thư mục này, chúng tôi sẽ phát triển
ứng dụng NodeJS tương tác với máy chủ MongoDB của chúng tôi.
Bây giờ, hãy chắc chắn rằng máy chủ MongoDB của bạn đang hoạt động và chạy,
vì vậy trong bài tập trước chúng ta đã thấy làm thế nào máy chủ MongoDB của chúng tôi có thể được bắt đầu.
Vì vậy, giữ cho máy chủ MongoDB lên và chạy và trong
cửa sổ thiết bị đầu cuối khác hoặc tab thiết bị đầu cuối hoặc cửa sổ lệnh, đi
đến thư mục node-mongo mà bạn vừa
tạo ra và khởi tạo một ứng dụng nút ở đây.
Vì vậy, hãy để tôi gõ npm init và chúng tôi
sẽ đặt tên cho các ứng dụng như Node-Mongo và phiên bản,
mô tả Node MongoDB Ví dụ,
và điểm nhập cảnh,
và tác giả, giống như chúng ta đã điền vào các bài tập trước đó.
Sau đó, khi tệp package.json được khởi tạo, hãy
mở tệp này trong trình soạn thảo của sự lựa chọn của bạn.
Bây giờ đi vào tập tin package.json,
hãy để tôi giới thiệu một kịch bản khác ở đây giống như chúng tôi đã làm trước đó, vì vậy,
chúng tôi sẽ nói “bắt đầu”: “node index” và lưu các thay đổi.
Quay trở lại thiết bị đầu cuối,
hãy cài đặt mô-đun nút MongoDB.
Vì vậy, gõ npm install mongodb @3 .0.10 —save.
Chúng tôi cũng sẽ cài đặt module node assert, vì vậy,
chúng tôi sẽ nói npm install assert @1 .4.1 —save.
Các module assert cho phép chúng tôi sử dụng assert
để kiểm tra sự thật hoặc các giá trị sai trong ứng dụng của chúng tôi,
và bạn sẽ thấy tôi sử dụng nó sau này.
Bây giờ chúng ta đã cài đặt các module nút này,
chúng ta hãy tạo ứng dụng nút của chúng tôi tương tác với máy chủ MongoDB.
Quay trở lại trình soạn thảo,
trong thư mục dự án,
tạo ra một tập tin có tên index.js,
và đây là nơi chúng ta sẽ tạo ra
các ứng dụng nút tương tác với máy chủ MongoDB của chúng tôi.
Vì vậy, trong ứng dụng này,
hãy gõ const Mongoclient,
và sau đó họ sẽ nói,
yêu cầu (`mongodb`), mô-đun nút MongoDB mà chúng tôi đã cài đặt,
và sau đó điều này sẽ cung cấp cho chúng tôi với
MongoClient cho phép chúng tôi kết nối với máy chủ MongoDB.
Ngoài ra, yêu cầu các module assert.
Bây giờ, để khởi động một kết nối đến máy chủ MongoDB,
chúng ta hãy tạo một URL tên liên tục mà sẽ
là URL nơi máy chủ MongoDB có thể được truy cập và truy cập bé này
bằng cách nói mongodb: //localhost: 27017/.
Nhớ lại rằng đây là số cổng mà tại đó máy chủ MongoDB của bạn đang
chạy 27017 const dbname=,
và sau đó chúng ta sẽ nói nhầm lẫn.
Nhớ lại rằng chúng tôi đã tạo
cơ sở dữ liệu Confect trong máy chủ MongoDB của chúng tôi trong bài tập trước đó
, vì vậy, chúng tôi sẽ truy cập vào cơ sở dữ liệu Confect mà chúng tôi đã tạo ra trước đó.
Bây giờ, để truy cập vào máy chủ, chúng ta sẽ nói MongoClient.Connect.
Vì vậy, phương thức kết nối cho phép chúng ta kết nối với MongoClient từ máy chủ MongoDB của
chúng tôi, và sau đó chúng ta sẽ nói điều này lấy URL làm tham số đầu tiên,
URL của máy chủ MongoDB làm tham số đầu tiên.
Tham số thứ hai là một hàm gọi lại.
Vì vậy, hàm callback có hai tham số, giá trị lỗi,
và client, sau đó chúng ta có thể sử dụng
để kết nối với cơ sở dữ liệu của chúng tôi và sau đó thực hiện các thao tác khác nhau.
Vì vậy, bên trong hàm callback này,
điều đầu tiên mà chúng ta sẽ làm là kiểm tra để đảm bảo rằng lỗi không phải là null.
Vì vậy, assert sẽ kiểm tra xem nếu lỗi bằng null,
do đó hàm assert cho phép chúng ta thực hiện các kiểm tra khác nhau về giá trị.
Vì vậy, chúng tôi kiểm tra để đảm bảo rằng lỗi không phải là,
nếu nó không phải là null,
thì điều đó có nghĩa là có một lỗi và vì vậy chúng tôi sẽ hiển thị lỗi trên màn hình.
Vì vậy, đó là việc sử dụng các chức năng assert ở đây.
Bây giờ, nếu điều đó không xảy ra,
thì điều đó có nghĩa là chúng tôi đã kết nối đúng với máy chủ,
vì vậy chúng tôi sẽ nói `kết nối đúng với máy chủ '
const db= client.db (dbname) để kết nối với cơ sở dữ liệu,
sau đó chúng ta có thể nói const collection db. ,
vì vậy db sẽ cung cấp cho chúng tôi các phương pháp khác nhau cho phép chúng tôi
tương tác với máy chủ, vì vậy chúng tôi sẽ nói db.collection (`dishes`) Vì vậy,
chúng tôi sẽ cố gắng truy cập vào bộ sưu tập các món ăn trong cơ sở dữ liệu này.
Bây giờ, điều tiếp theo mà chúng tôi sẽ cố gắng làm là
collection.insertone vì vậy chúng tôi sẽ cố gắng chèn một đối tượng vào bộ sưu tập,
và đối tượng này sẽ có
tên và mô tả, “kiểm tra”.
Vì vậy, bộ sưu tập này cung cấp phương pháp này được gọi là InserTone,
cho phép chúng ta chèn một tài liệu vào bộ sưu tập này,
và tài liệu là đối số đầu tiên cho phương pháp này ở đây.
Đối số thứ hai của phương thức là một hàm callback,
và hàm callback có hai tham số, lỗi và kết quả.
Vì vậy, trong chức năng gọi lại này,
nếu kết quả thu được,
sau đó chúng ta có thể truy cập vào bộ sưu tập và sau đó thực hiện các thao tác tiếp theo.
Vì vậy, ở đây, điều đầu tiên mà chúng tôi sẽ làm là kiểm tra để đảm bảo rằng lỗi không phải là null.
Vì vậy, chúng tôi sẽ làm một khẳng định ở đó,
và sau đó ở đây chúng ta có thể nói, “Sau khi chèn”.
Vì vậy, sau khi chúng tôi chèn, sau đó chúng ta thấy rằng chúng ta
nhận được giá trị kết quả được trả về ở đó, vì vậy kết quả này.
Kết quả này cũng sẽ cung cấp
thuộc tính OPS này cho biết có bao nhiêu hoạt động vừa được thực hiện thành công.
Vì vậy, đó là những gì tôi sẽ in ra.
Vì vậy, nó sẽ nói số chèn là một.
Vì vậy, có nghĩa là tài liệu cụ thể này đã được chèn vào cơ sở dữ liệu.
Vì vậy, đó là những gì chúng tôi sẽ xác nhận ở đây.
Sau đó, sau đó, chúng tôi sẽ thực hiện một tùy chọn khác,
một hoạt động trên bộ sưu tập, và nói,
bộ sưu tập tìm kiếm, và chúng tôi sẽ cố gắng tìm kiếm tất cả các bản ghi trong bộ sưu tập.
Vì vậy, ở đây, chúng tôi sẽ cung cấp một chuỗi JSON rỗng hoặc đối tượng JavaScript cấp tương ứng.
Vì vậy, nó sẽ tìm kiếm tất cả mọi thứ có trong bộ sưu tập,
và sau đó, cung cấp cho chúng tôi.
Sau đó, điều này có thể được chuyển đổi thành một mảng các đối tượng JSON.
Vì vậy, đây là lý do tại sao chúng ta gọi toArray,
và điều này có một hàm callback làm tham số.
Tham số đầu tiên của khóa học là giá trị lỗi, vì vậy một lần nữa,
chúng tôi kiểm tra để đảm bảo rằng lỗi không phải là null.
Sau đó, chúng tôi sẽ nói, console.log tìm thấy,
và sau đó in ra bất cứ điều gì đã được tìm thấy,
và chúng tôi sẽ nói console.log.
Vì vậy, tham số thứ hai ở đây, docs,
sẽ trả về tất cả các tài liệu từ bộ sưu tập này
phù hợp với bất kỳ tiêu chí nào mà bạn chỉ định ở đây.
Vì điều này trống rỗng,
thì điều đó có nghĩa là tất cả các tài liệu trong bộ sưu tập sẽ được trả lại cho chúng tôi.
Bạn có thể chỉ định một bộ lọc ở đây,
cho biết tên bằng một giá trị,
và sau đó chỉ những tài liệu phù hợp với giá trị đó sẽ được truy xuất.
Vì vậy, ở đây, hãy để tôi chỉ in ra các tài liệu ở đây,
để chỉ ra rằng mục này
đã được chèn vào bộ sưu tập và sau đó sẽ được lấy ra,
và sau đó chúng tôi sẽ chỉ in nó ra chỉ để đảm bảo rằng tài liệu mà chúng tôi chỉ cần
chèn vào hoạt động trước đó là thực sự trong bộ sưu tập,
và vì vậy chúng tôi sẽ in ra ở đây.
Bây giờ sau này, sau đó chúng tôi sẽ sử dụng
phương pháp DropCollection ở đây.
Vì vậy, DropCollection sẽ thả bộ sưu tập được chỉ định ở đây.
Vì vậy, chúng tôi sẽ nói các món ăn DropCollection,
vì vậy tôi sẽ chỉ loại bỏ các bộ sưu tập món ăn từ cơ sở dữ liệu của tôi.
Vì vậy, tôi chỉ đi để làm sạch cơ sở dữ liệu và sau đó để
nó với một cơ sở dữ liệu trống để chúng ta có thể đi vào
bài tập tiếp theo, nơi chúng ta có thể
thực hiện một lần nữa loại tương tự của các hoạt động để kiểm tra này ra.
Điều này mất, như một tham số thứ hai,
một hàm gọi lại trả về một lỗi hoặc một kết quả.
Bên trong này, chúng tôi sẽ kiểm tra và đảm bảo rằng khẳng định không phải là null,
và sau đó chúng tôi sẽ nói, client.close.
Vì vậy, chúng tôi sẽ đóng kết nối với cơ sở dữ liệu ngay tại chỗ.
Vì vậy, với điều này, tập hợp các phương pháp đơn giản này cho phép chúng ta tương tác với máy chủ của chúng tôi,
và nó cũng chứng minh cho chúng ta cách chúng ta có thể giao tiếp với máy chủ bằng cách sử dụng
các phương pháp có sẵn thông qua mô-đun nút MongoDB này hoặc trình điều khiển MongoDB.
Vì vậy, ở đây, bạn thấy rằng đầu tiên chúng ta thực hiện một hoạt động chèn.
Sau đó, sau khi thao tác chèn, lưu ý rằng,
chúng tôi đang thực hiện thao tác thứ hai bên trong hàm callback.
Vì vậy, điều này đảm bảo rằng thao tác này đã được hoàn thành trước khi bạn thực hiện thao tác tiếp theo.
Vì vậy, đây là một cuộc gọi thứ hai được bao bọc bên trong chức năng callback đầu tiên,
và sau đó tương ứng, bên trong đó.
Chúng tôi lại gọi các phương pháp ở đây và bên trong đó.
Vì vậy, bạn thấy rằng có một tổ của những cuộc gọi này,
một trong những cuộc gọi khác.
Lưu ý cấu trúc bởi vì tôi sẽ trở lại để
giải thích điều gì đó về điều này trong một trong những bài tập sau này.
Vì vậy, lưu ý rằng, làm tổ các cuộc gọi này bên trong khác.
Hãy lưu các thay đổi,
và sau đó xem những gì ứng dụng này làm khi chúng tôi thực hiện nó.
Quay trở lại thiết bị đầu cuối, một lần nữa,
đảm bảo rằng máy chủ MongoDB của bạn đang hoạt động và do đó,
khi nó đang chạy nó sẽ in ra rất nhiều thông điệp đăng nhập vào giao diện điều khiển. Bây giờ
chúng ta có thể bỏ qua những thông điệp nhật ký đó.
Hãy chạy ứng dụng nút.
Vì vậy, chúng ta sẽ nói, npm bắt đầu,
và khi ứng dụng nút chạy,
bạn nhận thấy những gì hiện ứng dụng nút đang làm.
Vì vậy, nó nói, kết nối một cách chính xác với máy chủ, Sau khi chèn,
sau đó nó cho thấy rằng
tài liệu cụ thể này đã được chèn vào MongoDB của chúng tôi và nút nói riêng,
ID được đưa ra ở đây.
Vì vậy, lưu ý rằng điều này không nói đây là một đối tượng ID.
ID này được tự động chèn bởi
trình điều khiển nút Mongo vào tài liệu của họ khi
bạn cố gắng chèn nó vào máy chủ MongoDB ở đây.
Định dạng này là chính xác giống như ID đối tượng mà chúng ta đã thấy.
Sau đó, chúng tôi đã thực hiện một hoạt động tìm thấy.
Vì vậy, điều này được tìm thấy,
và sau đó nó in ra mục này ở đây.
Lưu ý rằng từ bài tập trước đó,
chúng tôi đã để lại trong tài liệu trước đó mà chúng tôi đã chèn vào trong bài tập trước đó.
Vì vậy, đó vẫn còn được nhìn thấy trong bộ sưu tập ở đây,
và các tài liệu mới mà chúng tôi vừa chèn vào đây.
Tài liệu này được nhìn thấy ngay bên dưới rằng ở đây,
nhưng lưu ý rằng hai người này có hai ID khác nhau.
ID này khớp với ID của tài liệu mà chúng tôi vừa chèn.
Vì vậy, đây là còn sót lại từ bài tập trước đó.
Sau đó, tất nhiên chúng tôi thả bộ sưu tập để
toàn bộ tài liệu này và bộ sưu tập món ăn sẽ bị xóa khỏi cơ sở dữ liệu của chúng tôi.
Vì vậy, bây giờ cơ sở dữ liệu của chúng tôi sẽ được sạch sẽ và trống rỗng.
Vì vậy, điều đó chứng minh cho bạn cách chúng ta có thể sử dụng
trình điều khiển MongoDB để giao tiếp từ ứng dụng nút của chúng tôi với máy chủ.
Bây giờ chúng ta có ứng dụng của chúng tôi,
hãy để tôi giới thiệu một.gitignore
ở đây và sau đó đặt các module nút vào .gitignore,
và bạn nhanh chóng hiểu tại sao tôi đang làm điều này.
Sau đó, chúng tôi sẽ quay trở lại và khởi tạo kho Git và sau đó thực hiện một cam kết git.
Quay trở lại thiết bị đầu cuối,
hãy để tôi khởi tạo kho lưu trữ Git,
và sau đó, chúng ta hãy kiểm tra trạng thái Git và bạn thấy rằng có một số tệp chưa được cam kết.
Vì vậy, hãy để tôi kiểm tra chúng trong và sau đó thực hiện một cam kết git với thông điệp,
Node MongoDB Ví dụ một.
Đây là một phần của bài tập,
vì vậy chúng tôi sẽ chỉ kiểm tra các mục vào kho lưu trữ git của chúng tôi.
Điều này hoàn thành bài tập này.
Trong bài tập này, chúng ta đã thấy cách chúng ta cài đặt mô-đun nút,
trình điều khiển MongoDB, sau đó,
chúng tôi đã có thể giao tiếp với máy chủ MongoDB của chúng tôi từ trong
ứng dụng nút của chúng tôi bằng cách sử dụng các phương pháp được cung cấp bởi trình điều khiển MongoDB.
Chúng tôi sẽ tiếp tục với bài tập này trong phần tiếp theo
của bài tập, nơi chúng tôi sẽ khám phá một vài phương pháp khác của trình điều khiển MongoDB.