Last active
May 13, 2020 08:22
-
-
Save habvh/02d59b95ee56df03fa7c11fdff0ef73b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
+ MongoDB làm việc trên concept của collection và document. | |
+ Database là một dạng lưu trữ vật lý. Mỗi database có các field trong một file system. Một máy chủ mongoDB thông thường gồm nhiều database. | |
+ Collection là một khối các document MongoDB. Trong các document có các trường (field) khác nhau. 1 collection = n(document) = n(x(field)). | |
+ A document là một tập hợp các cặp key - value. | |
For example: { | |
_id: ObjectId(7df78ad8902c) | |
title: 'MongoDB Overview', | |
description: 'MongoDB is no sql database', | |
by: 'tutorials point', | |
url: 'http://www.tutorialspoint.com', | |
tags: ['mongodb', 'database', 'NoSQL'], | |
likes: 100, | |
comments: [ | |
{ | |
user:'user1', | |
message: 'My first comment', | |
dateCreated: new Date(2011,1,20,2,15), | |
like: 0 | |
}, | |
{ | |
user:'user2', | |
message: 'My second comments', | |
dateCreated: new Date(2011,1,25,7,45), | |
like: 5 | |
} | |
] | |
} | |
+ id là một dãy hex 12 bytes. Bạn có thể tự cung cấp id hoặc mongoDb sẽ tự động tạo id theo một quy tắc nhất định. | |
+ Ưu điểm của MongoDB hơn RDBMS (hệ quản trị cơ sở dữ liệu quan hệ) là gì | |
+ Schema less: Mỗi một collection chứa nhiều documents khác nhau. Có sự khác nhau giữa số trường, nội dung, kích thước giữa một hoặc nhiều documents khác. | |
+ Cấu trúc sạch sẽ, gọn gàng | |
+ Dễ dàng tiếp cận | |
+ Hỗ trợ khả năng truy vấn sâu | |
+ Điều chỉnh | |
+ Dễ dàng thu gọn | |
+ Chuyển đổi / ánh xạ các đối tượng ứng dụng thành các đối tượng cơ sở dữ liệu không cần thiết. | |
+ Sử dụng bộ nhớ trong để lưu trữ working set => việc sử lý dữ liệu nhanh hơn. | |
+ Data Model Design: Mô hình dữ liệu nhúng (Embedded data model) và mô hình dữ liệu chuẩn hóa (Normallized data model) | |
+ Mô hình dữ liệu nhúng: đưa tất cả dữ liệu liên quan vào một document | |
+ Mô hình dữ liệu chuẩn hóa: chia các dữ liệu riêng lẻ những document | |
+ Create Database | |
Syntax: use DATABASE_NAME (tạo một database có tên là DATABASE_NAME) | |
>db : check database hiện tại | |
>show dbs : check danh sách database | |
Trong trường hợp show dbs mà không thấy xuất hiện db vừa tạo, thì cần thêm ít nhất một document vào trong db đó bằng cách: db.move.insert({"name": "Bui Van Ha"}) | |
+ The dropDatabase() method (xóa database) | |
Syntax: dropDatabase() | |
Nếu muốn drop database có tên là mydb | |
+ Bước 1: use mydb | |
+ Bước 2: db.dropDatabase() | |
+ The createCollection() method | |
Syntax: db.createCollection(name, options) | |
name là một string, options là một document | |
Option: | |
capped : boolean (Sẽ tự động ghi đè khi đã maximum size) | |
autoIndexId : boolea (true -> tự động tạo id/ false -> không tự động tạo) | |
size: number (kích thước tối đa cho một capped collection) | |
max: number (xác định số lượng max của document cho phép trong capped collection) | |
Example: db.createCollection("mydb", {capped: true, autoInndexId: true, size: 2000000, max: 10000}) | |
+ The drop() method (xóa collection từ database) | |
Syntax: db.COLLECTION_NAME.drop() | |
Example: Một database có tên là mydb, trong mydb chứa các collection: myCollection, myUsers, myBooks. Hiện tại muốn xóa collection có tên là myUsers | |
--> db.myUsers.drop() | |
Vậy là đã xóa được rồi ! | |
+ Kiểu data (Datatypes) | |
String, Interger, Boolean, Double, Min/Max keys, Arrays, Timestamp, Object, Null, Symbol, Date, Object ID, Binary data, Code, Rexgular expression | |
->> Nhiều vcl :(( (sơ sơ cũng tầm 15 loại, đù móe!) | |
+ The insert() method (thêm vào một collecion document) | |
Syntax: db.COLLECTION_NAME.insert(document) | |
Ngoài ra, db.COLLECTION_NAME.save(document) để thực hiện như insert() | |
Example: thêm một document mô tả bản thân vào collection infor trong database mydb dưới dạng array | |
use mydb | |
db.createCollection("infor") | |
db.infor.insert([ | |
{ | |
name: "Bui Van Ha", | |
age: 19, | |
address: "Bac Giang" | |
}, | |
crush: false, | |
gender: female | |
]) | |
Tạo sao không có trường id ?? --> Bởi vì khi tạo collection đã chọn autoIndexId: true. Nên khi tạo document thì hệ thống sẽ tự động tạo cho chúng ta một id. | |
Trong trường hợp chỉ muốn thêm một document thì sử dụng insertOne() method | |
Example: | |
use mydb | |
db.createCollection("infor") | |
db.infor.insertOne( | |
{ | |
name: "Bui Van Ha", | |
age: 19, | |
address: "Bac Giang", | |
crush: false, | |
gender: female | |
} | |
) | |
Trong trường hợp muốn thêm nhiều document thì sử dụng insertMany() method | |
Example: | |
use mydb | |
db.createCollection("infor") | |
db.infor.insertMany( | |
{ | |
name: "Bui Van Ha", | |
age: 19, | |
address: "Bac Giang", | |
crush: false, | |
gender: female | |
}, | |
{ | |
name: "Hoang Xuan Hieu", | |
age: 19, | |
address: "Nam Định", | |
crush: false, | |
gender: female | |
}, | |
{ | |
name: "Pham Van Long", | |
age: 19, | |
address: "Hai Phong", | |
crush: true, | |
gender: female | |
} | |
) | |
+ The find() method (truy vấn dữ liệu từ MongoDB collection) | |
Syntax: db.COLLECTION_NAME.find() | |
Example: | |
use mydb | |
db.infor.find() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment