Cài đặt và các thao tác cơ bản MongoDB 3

Posted: Tháng Một 14, 2018 in Database, MongoDB
Thẻ:,

Bài viết hướng dẫn cài đặt MongoDB-3x trên CentOS 7 và thao tác cơ bản trên MongoDB

1. Giới thiệu và cài đặt MongoDB

1.1 Giới thiệu MongoDB

Trước giờ hay làm việc với kiểu cơ sở dữ liệu SQL như: MySQL, MS SQL, DB2 và Oracle. Trong những năm gần đây nổi lên với big data và web theo thời gian thực (real time), thì kiểu dữ liệu NoSQL được sử dụng cho các ứng dụng trên trở nên phổ biến hơn. MongoDB là kiểu dữ liệu NoSQL, rất phổ biến hiện nay.

  • MongoDB miễn phí và nguồn mở.

  • MongoDB lưu trữ dữ liệu trong các document, giống như kiểu JSON vào trong collection dưới dạng binary (hay còn gọi là BSON), cho phép lưu trữ dữ liệu không tuân theo cấu trúc nhất định nào

  • MongoDB là một cơ sở dữ liệu phân tán, vì vậy tính sẵn sàng cao, khả năng mở rộng theo chiều ngang dễ dàng bằng sharding.

  • Mỗi khi truy vấn dữ liệu, bản ghi được cache vào RAM mà không cần phải đọc từ ổ cứng, vì vậy mà cho tốc độ truy vấn cực cao. Nhưng nó chiếm rất nhiều không gian nhớ của RAM, vì vậy máy chủ cần lượng RAM đủ lớn để đáp ứng yêu cầu.

MongoDB cung cấp các gói được hỗ trợ sau từ repo gốc:

  • mongodb-org Package này khi cài đặt sẽ tự động cài đặt 04 packages còn lại ở dưới

  • mongodb-org-server Chứa daemon mongod và cấu hình kết hợp

  • mongodb-org-mongos Chứa daemon mongos

  • mongodb-org-shell Chứa mongo shell

  • mongodb-org-tools Gói chứa các tools sau của MongoDB: mongoimport bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop.

1.2 Cài đặt MongoDB và các gói công cụ

  • Tạo mongo repository
cat >/etc/yum.repos.d/mongo.repo<<EOF
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF
  • Thực hiện cài đặt

$sudo yum install -y mongodb-org

  • Cho phép khởi động cùng hệ thống và chạy MongoDB
systemctl enable mongod
systemctl start mongod

-Truy cập mongodb

$mongo
> db.version();
3.6.12
> show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB

2. Thao tác cơ bản MongoDB

Tạo database và collection

  • Tạo database

Syntax: use database_name

Mặc định khi tạo xong chưa show ra được db vừa tạo. Để thấy db đó, cần có dữ liệu đầu vào nó.

  • Tạo collection

Syntax: db.createCollection(name, options)

Collection cũng tự động được tạo khi chúng ta thực hiện chèn dữ liệu vào document

Truy cập database và collections

  • Show all databases
$mongo
>show dbs
admin 0.000GB
cms_apg 0.001GB
dangky 0.002GB
local 0.229GB
register 0.176GB

Hoặc show databases

  • Truy cập database

use cms_apg

  • Show db đang làm việc
>db;
cms_apg
  • show collections
>show collections;
access_tk
ads_click
banners
blacklist
  • Truy cập collection
>db.access_tk
db.access_tk
> db.access_tk.find();
{ "_id" : ObjectId("59d30dbff1ca3d401a000035"), "msisdn" : "", "token" : "d48f36038760ef209b28d5c3ed198de7" }
>

Insert document trong collection

Chúng ta có thể insert với từng document hoặc nhiều documents đồng thời

  • Insert với từng document

Syntax: db.&lt;collectionName&gt;.insert({field1: "value", field2: "value"})

  • Insert với nhiều documents

Syntax: db.&lt;collectionName&gt;.insertMany([{field1: "value1"}, {field1: "value2"}])

Example:

> use example
switched to db example
> db.createCollection("Collection01")
{ "ok" : 1 }
> db.Collection01.insert({field1: "value", field2: "value"})
WriteResult({ "nInserted" : 1 })
> db.Collection02.insertMany([{field1: "value1"}, {field1: "value2"}])
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5cbb546710d785025edba178"),
ObjectId("5cbb546710d785025edba179")
]
}
> show collections;
Collection01
Collection02
> db.Collection02.find();
{ "_id" : ObjectId("5cbb546710d785025edba178"), "field1" : "value1" }
{ "_id" : ObjectId("5cbb546710d785025edba179"), "field1" : "value2" }
Bình luận
  1. […] Trong bài trước nói về begin MongoDB và triển khai MongoDB với 01 member. Do đó có thể tham khảo cài đặt và sử dụng các thao tác cơ bản trên MongoDB 3 tại:  Cài đặt và các thao tác cơ bản MongoDB 3 […]

    Số lượt thích

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s