Site icon Knowledge Base| Kiến thức Dịch vụ P.A Việt Nam

MONGODB là gì

1. Định nghĩa về MongoDB

2. Các thuật ngữ hay sử dụng trong MongoDB

Hãy lưu ý sự khác biệt của các trường và _id trong một document. Một _id được dùng để đại diện cho một document và chúng được sinh ra khi thêm một Document vào Collection.

3. So sánh giữa RDBMS (Relational database management system) và MongoDB

| RDBMS | MongoDB | | ——– | ——– | | Database | Database | | Table | Collection| | Tuple/Row | Document| Column| Field Table Join | Embedded Documents Primary Key | Primary Key (mặc định là _id)

Ví dụ cho Embedded Documents:

_id: ObjectId("5099803df3f4948bd2f98391"), 
name: { first: "Alan", last: "Turing" }, 
contact: { phone: { type: "cell", number: "111-222-3333" } }, 
}

Để chỉ trường last trong trường name, ta dùng “name.last” Để chỉ number trong phone mà phone lại nằm trong trường contact, ta dùng “contact.phone.number”

(*) key _id là do hệ thống tự tạo ra để làm khóa chính.

4. Các kiểu dữ liệu trong MongoDB

MongoDB hỗ trợ các kiểu dữ liệu sau:

TypeNumberAlias
Double1“double”
String2“string”
Object3“object”
Array4“array”
Binary data5“binData”
Undefined6“undefined”
ObjectId7“objectId”
Boolean8“bool”
Date9“date”
Null10“null”
Regular Expression11“regex”
DBPointer12“dbPointer”
JavaScript13“javascript”
Symbol14“symbol”
JavaScript (with scope)15“javascriptWithScope”
32-bit integer16“int”
Timestamp17“timestamp”
64-bit integer18“long”
Decimal12819“decimal”
Min key-1“minKey”
Max key127“maxKey”

Ví dụ : Dữ liệu của collection bao gồm 2 documents MinKey và MaxKey: { "_id" : 1, x : { "$minKey" : 1 } } { "_id" : 2, y : { "$maxKey" : 1 } }

Câu lệnh truy vấn sau sẽ cho kết quả là một documents có _id: 1:

db.data.find( { x: { $type: "minKey" } } )

hoặc có thể viết

db.data.find( { x: { $type: "-1" } } )

(*) https://docs.mongodb.com/manual/reference/operator/query/type/

5. Một số câu lệnh dùng trong MongoDB

Câu lệnhSQLMongoDB
Create tableCREATE TABLE people (id MEDIUMINT NOT NULL AUTO_INCREMENT, user_id Varchar(30), age Number, status char(1), PRIMARY KEY (id))db.people.insertOne({User_id: “abc123”, Age: 55, Status: “A”})
Drop tableDROP TABLE peopledb.people.drop()
Insert records into tablesINSERT INTO people(user_id, age, status) VALUES ("bcd001", 45, "A")db.people.insertOne( { user_id: "bcd001", age: 45, status: "A" })
SelectSELECT *FROM peopledb.people.find()
SELECT id,user_id, status FROM peopledb.people.find( { }, { user_id: 1, status: 1 } )
SELECT * FROM people WHERE status = "A"db.people.find( { status: "A" } )
SELECT * FROM people WHERE status = "A" AND age = 50db.people.find( { status: "A", age: 50 } )
SELECT * FROM people WHERE status = "A" OR age = 50db.people.find( { $or: [ { status: "A" } , { age: 50 } ] } )
SELECT * FROM people WHERE user_id like "%bc%"db.people.find( { user_id: /bc/ } )
db.people.find( { user_id: { $regex: /bc/ } } )
SELECT COUNT(user_id) FROM peopledb.people.count( { user_id: { $exists: true } } )
db.people.find( { user_id: { $exists: true } } ).count()
Update recordsUPDATE people SET status = "C" WHERE age > 25db.people.updateMany( { age: { $gt: 25 } }, { $set: { status: "C" } } )
UPDATE people SET age = age + 3 WHERE status = "A"db.people.updateMany( { status: "A" } , { $inc: { age: 3 } } )
Delete RecordsDELETE FROM people WHERE status = "D"db.people.deleteMany( { status: "D" } )
DELETE FROM peopledb.people.deleteMany({})

6. MongoDB hoạt động như thế nào

Từ đây có thể nhìn thấy nhược điểm của Mongodb như sau:

7. Lợi thế của MongoDB

8. Khi nào NÊN sử dụng MongoDB ?

Sử dụng MongoDB trong trường hợp:

9. Khi nào KHÔNG NÊN sử dụng MongoDB ?

10. Các công cụ quản trị MongoDB

Một số công cụ điển hình như:

11. Cài đặt MongoDB

– Trên Windows:

  1. Tải MongoDB từ link bên dưới: https://www.mongodb.org/downloads
  2. Chạy file vừa tải về
  3. Sau khi chạy xong file, vào thư mục C:\Program Files\MongoDB\Server\3.4\bin , chạy file mongod để khởi động mongoDB
  4. Dùng địa chỉ 127.0.0.1:27017 để tạo connection đến mongoDB

– Trên Linux:

Tham khảo trên website : install


*Bài viết có tham khảo tại các nguồn khác nhau:* [1 ](https://robomongo.org/download) [2](https://www.linkedin.com/pulse/how-install-mongodb-use-robomongo-detelin-popov) [3](http://o7planning.org/vi/10273/huong-dan-cai-dat-va-su-dung-robomongo) [4](https://en.wikipedia.org/wiki/NoSQL) [5](http://vietjack.com/mongodb/) [6](https://docs.mongodb.com/manual/reference/sql-comparison/) [7](https://freetuts.net/tong-quan-ve-mongodb-203.html) [8](https://www.tutorialspoint.com/mongodb/index.htm)

Rate this post
Exit mobile version