MongoDB là 1 cơ sở dữ liệu đa nền tảng, được sử dụng để lưu trữ dữ liệu khối lượng lớn. MongoDB được phát hành vào giữa những năm 2000, nó thuộc danh mục cơ sở dữ liệu NoQuery. MongoDb lưu trữ dữ liệu trong flexible, JSON-like document, có nghĩa là các trường có thể thay đổi từ tài liệu này sang tài liệu khác và cấu trúc dữ liệu có thể thay đổi theo thời gian.
Trong hướng dẫn này mình sẽ hướng dẫn cài đặt và một số thao tác cơ bản với MongoDB.
Điều kiện tiên quyết
Đăng nhập và thực hiện với người dùng root hoặc quyền sudo.
Bước 1: Khai báo repo cho MongoDB
Các gói MongoDB không tồn tại trong kho mặc định, nhưng MongoDB có duy trì 1 kho lưu trữ chuyên dụng. Thêm nội dung sau vào tệp cấu hình kho lưu trữ yum mongodb.repo theo phiên bản MongoDB và kiến trúc hệ thống theo yêu cầu của bạn. Đối với bài viết này, mình sử dụng kho lưu trữ MongoDB 4.2
Tiến hành tạo file /etc/yum.repos.d/mongodb-org-4.2.repo
và khai báo nội dung như sau:
cat <<EOF> /etc/yum.repos.d/mongodb-org-4.2.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF
Kiểm tra lại kho lưu trữ xem đã tồn tại hay chưa :
yum repolist
Output
...
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-4.2/7 MongoDB Repository
updates/7/x86_64 CentOS - Updates
...
Ta thấy kho lưu trữ mongodb đã tồn tại trong tiện ích yum nên sẽ tiến hành cài đặt.
Bước 2: Cài đặt MongoDB
Sử dụng Yum
để tự động cài đặt gói mongodb-org.
yum install -y mongodb-org
Khởi động dịch vụ mongodb
systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service
Kiểm tra lại trạng thái mongodb
systemctl status mongod
Bước 3: Kiểm tra lại phiên bản và vị trí file log
Kiểm tra phiên bản mongodb
mongod --version
db version v4.2.3
git version: 6874650b362138df74be53d366bbefc321ea32d4
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel70
distarch: x86_64
target_arch: x86_64
Kiểm tra vị trí file log
Để xem các trạng thái cũng như các lỗi xảy ra đối với mongodb, ta cần phải đọc file log của mongodb.
File log của mongodb có vị trí tại /var/log/mongodb/mongod.log
. Sử dụng lệnh tail để xem nội dung mới nhất của file.
tail /var/log/mongodb/mongod.log
Tại đây sẽ lưu lại lịch sử những trạng thái hoặc các lỗi xảy ra, cũng bao gồm những lần connect tới cơ sở dữ liệu.
Bước 4: Truy cập và thao tác với cơ sở dữ liệu
Truy cập cơ sở dữ liệu
Sau khi đã chắc chắn mongodb đã hoạt động, ta truy cập vào máy chủ cơ sở dữ liệu bằng MongoDB Shell:
mongo
Các thao tác cơ bản với cơ sở dữ liệu
- Nhập
db
để hiển thị cơ sở dữ liệu hiện tại của bạn, hành động sẽ trả về kết quả làtest
, đó là cơ sở dữ liệu mặc định
db
- Để chuyển sang cơ sở dữ liệu khác, thực hiện câu lệnh sau :
db [example]
với example
là tên của cơ sở dữ liệu muốn chuyển đến.
- Sử dụng
use Database_Name
để tạo cơ sở dữ liệu. Lệnh sẽ tạo cơ sở dữ liệu nếu nó không tồn tại, nếu cơ sở dữ liệu có tồn tại nó sẽ trả về cơ sở dữ liệu hiện có.
use Database_Name
với Database_Name
là tên của cơ sở dữ liệu muốn chọn hoặc tên cơ sở dữ liệu muốn tạo.
- Để xem các danh sách cơ sở dữ liệu của mình, thực hiện câu lệnh
show dbs.
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
Nếu cơ sở dữ liệu đã tạo của bạn không có trong danh sách, bạn cần chèn ít nhất 1 tài liệu vào đó để có thể hiển thị cơ sở dữ liệu
> use mydb
switched to db mydb
> db.movie.insert({"name":"tutorials point"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mydb 0.000GB
test 0.000GB
- Xóa 1 cơ sở dữ liệu trong mongodb :
Để xóa 1 cơ sở dữ liệu trong mongodb sử dụng cú pháp sau:
db.dropDatabase()
Ví dụ mình muốn xóa cơ sở dữ liệu có tên test
, đầu tiên kiểm tra danh sách cơ sở dữ liệu:
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
Tiến hành xóa cơ sở dữ liệu test
:
> use test
switched to db test
> db.dropDatabase()
{ "dropped" : "test", "ok" : 1 }
Kết quả như trên là thành công, kiểm tra lại cơ sở dữ liệu một lần nữa:
show dbs
- Xóa 1 collection trong mongodb
Cú pháp cơ bản để xóa 1 collection trong mongodb :
db.COLLECTION_NAME.drop()
Đầu tiên chuyển đến database chứa collection, ở đây mình sẽ chuyển đến mydb
:
use mydb
Kiển tra các collection đang tồn tại:
> show collections
movie
Thực hiện xóa 1 collections
> db.movie.drop()
true
Nếu kết quả trả về true là đã thành công.
- Kiểm tra phiên bản và sự hỗ trợ :
Để kiểm tra phiên bản, sử dụng db.version()
db.version()
Để nhận được sự hỗ trợ về 1 số lệnh căn bản:
help
Để nhận được sự trợ giúp về các phương thức trong mongodb:
db.help()
Bạn có thể sử dụng help để tiếp tục làm quen với cơ sở dữ liệu trong mongodb.
- Cuối cùng, thoát khỏi shell bằng lệnh
exit
:
> exit
bye
Kết luận
Trong hướng dẫn này mình đã hướng dẫn các bạn biết cách cài đặt mongodb và 1 số thao tác cơ bản với cơ sở dữ liệu trong mongodb. Hãy xây dựng cơ sở dữ liệu của riêng mình và chia sẻ phản hồi dưới phần bình luận. Chúc các bạn thành công !
Leave a Reply