Biết về Node.js và MongDB (phần 20)

Thiết lập một MongoDB server

Trước khi chúng ta có thể bắt đầu sử dụng MongoDB, chúng ta cần thiết lập một server. Vì chúng ta đã có Docker
cài đặt, chúng ta có thể làm các thứ dễ dàng hơn cho bản thân chúng ta bằng cách chạy MongoDB trong một cái
chứa Docker. Làm như vậy cũng cho phép chúng ta có các thực thể khởi tạo MongoDB riêng rẽ, sạch cho các apps
của chúng ta bằng cách tạo các cái chứa riêng rẽ. Hãy bắt đầu với các bước:
1. Đảm bảo Docker Desktop đang chạy và Docker được khởi động. Bạn có thể thẩm định cái này bằng cách chạy lệnh
sau, cái liệt kê tất cả các cái chứa đang chạy:

$ docker ps

Nếu Docker không được khởi động đúng đắn, bạn sẽ nhận lỗi Cannot connect to the Docker daemon. Trong trường
hợp đó, đảm bảo Docker Desktop đang chạy và Docker Engine không bị dừng.
Nếu Docker được khởi động đúng đắn, bạn sẽ thấy đầu ra sau:

CONTAINER
ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Nếu bạn đã có một vài cái chứa đang chạy, nó sẽ được đi theo bởi một danh sách các cái chứa được khởi động.
2. Chạy lệnh Docker sau để tạo một cái chứa mới với một MongoDB server:

$ docker run -d –name dbserver -p 27017:27017 –restart unlessstopped
mongo:6.0.4

Lệnh docker run tạo và chạy một cái chứa mới. Các đối số là như sau:
+ -d: Chạy cái chứa trong nền (daemon mode)
+ –name: Chỉ ra một tên cho cái chứa. Trong trường hợp của chúng ta, chúng ta đặt tên nó dbserver.
+ -p: Chập một cổng từ cái chứa vào host. Trong trường hợp của chúng ta, chúng ta chập cổng MongoDB server mặc định
27017 trong cái chứa vào cùng cổng trên host của chúng ta. Cái này cho phép chúng ta truy cập MongoDB server đang
chạy bên trong cái chứa của chúng ta từ bên ngoài nó. Nếu bạn đã có một MongoDB server đang chạy trên cổng đó,
cảm thấy tự do thay đổi số đầu tiên thành cổng khác, nhưng đảm bảo cũng điều chỉnh số cổng từ 27017 thành cổng
chỉ ra của bạn trong các hướng dẫn sau.
+ –restart unless-stopped: Đảm bảo tự động khởi động (hay khởi động lại) cái chứa trừ phi chúng ta thủ công
dừng nó. Cái này đảm bảo rằng mọi lần chúng ta khởi động Docker, MongoDB server của chúng ta sẽ đang chạy.
+ mongo: Cái này là tên ảnh. Ảnh mongo chứa một MongoDB server.
3. Cài đặt MongoDB Shell trên hệ thống host của bạn (không bên trong cái chứa) bằng cách đi theo các hướng
dẫn trên MongoDB website (https://www.mongodb.com/docs/mongodbshell/install/).
4. Trên hệ thống host của bạn, chạy lệnh sau để kết nối MongoDB server sử dụng MongoDB Shell (mongosh). Sau
hostname và cổng, chúng ta chỉ ra một tên CSDL. Chúng ta sẽ gọi CSDL của chúng ta ch2:

$ mongosh mongodb://localhost:27017/ch2

Bạn sẽ thấy một vài đầu ra từ server CSDL, và tại cuối, chúng ta có một shell đang chạy trên CSDL đã chọn, như
có thể thấy bởi ch2>prompt. Ở đây, chúng ta có thể nhập các lệnh để được thực thi trên CSDL của chúng ta. Thú
vị là, MongoDB, giống như Node.js, cũng bộc lộ trước một bộ máy Javascript, nhưng với môi trường khác. Nên, chúng
ta có thể chạy Javascript code, như sau:

ch2> console.log(“test”)

Ảnh sau thể hiện Javascript code được thực thi trong MongoDB Shell:
script
Bây giờ rằng chúng ta đã có một shell kết nối MongoDB database server của chúng ta, chúng ta có thể bắt đầu thực
hành chạy các lệnh trực tiếp trên CSDL.

Chia sẻ