- Chuyên mục khác :
- Git cơ bản và nâng cao
- ·
- MySQL cơ bản và nâng cao
- ·
- MongoDB cơ bản và nâng cao
- ·
- SQL cơ bản và nâng cao
- ·
- Linux cơ bản và nâng cao
- Cơ bản về MongoDB
- Học MongoDB cơ bản và nâng cao
- Tổng quan về MongoDB
- Lợi thế của MongoDB
- Cài đặt MongoDB
- Mô hình hóa dữ liệu trong MongoDB
- Tạo Database trong MongoDB
- Xóa Database trong MongoDB
- Tạo Collection trong MongoDB
- Xóa Collection trong MongoDB
- Kiểu dữ liệu trong MongoDB
- Chèn Document trong MongoDB
- Truy vấn Document trong MongoDB
- Cập nhật Document trong MongoDB
- Xóa Document trong MongoDB
- Projection trong MongoDB
- Giới hạn bản ghi trong MongoDB
- Sắp xếp bản ghi trong MongoDB
- Chỉ mục (Index) trong MongoDB
- Aggregation trong MongoDB
- Replica Set trong MongoDB
- Shard trong MongoDB
- Tạo Backup trong MongoDB
- MongoDB Deployment
- Hoạt động MongoDB nâng cao
- Relationship trong MongoDB
- Tham chiếu Database trong MongoDB
- Covered Query trong MongoDB
- Phân tích truy vấn trong MongoDB
- Hoạt động nguyên tử (Atomic Operation) trong MongoDB
- Hoạt động chỉ mục nâng cao trong MongoDB
- Hạn chế của chỉ mục trong MongoDB
- ObjectId trong MongoDB
- Map Reduce trong MongoDB
- Text Search trong MongoDB
- Regular Expression trong MongoDB
- Làm việc với Rockmongo
- GridFS trong MongoDB
- Capped Collection trong MongoDB
- Auto-Increment Sequence trong MongoDB
MongoDB là một cơ sở dữ liệu đa nền tảng, hoạt động trên các khái niệm Collection và Document, nó cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng dễ dàng.
Khái niệm Database
Database là một nơi chứa vật lý cho các Collection. Mỗi Database lấy tập hợp các file riêng của nó trên hệ thống file. Mỗi MongoDB Server có thể có nhiều cơ sở dữ liệu.
Khái niệm Collection
Collection là một nhóm các Document trong MongoDB. Nó tương đương như một bảng trong RDBMS. Do đó, một Collection tồn tại bên trong một cơ sở dữ liệu duy nhất. Các Collection không có ràng buộc Relationship như các hệ quản trị cơ sở dữ liệu khác nên việc truy xuất rất nhanh, chính vì thế mỗi collection có thể chứa nhiều thể loại khác nhau không giống như table trong hệ quản trị mysql là các field cố định. Các Document bên trong một Collection có thể có nhiều trường khác nhau. Đặc biệt, tất cả các Document trong một Collection là tương tự nhau hoặc với cùng mục đích liên quan.
Khái niệm Document
Một Document trong MongoDB, có cấu trúc tương tự như kiểu dữ liệu JSON, là một tập hợp các cặp key-value. Các Document có schema động, nghĩa là Document trong cùng một Collection không cần thiết phải có cùng một tập hợp các trường hoặc cấu trúc giống nhau, và các trường chung trong Document của một Collection có thể giữ các kiểu dữ liệu khác nhau.
Below given table shows the relationship of RDBMS terminology with MongoDB
RDBMS | MongoDB |
---|---|
Database | Database |
Table | Collection |
Tuple/Row | Document |
column | Field |
Table Join | Embedded Documents |
Primary Key | Primary Key (Giá trị mặc định là _id được cung cấp bởi chính MongoDB) |
Database Server và Client | |
Mysqld/Oracle | mongod |
mysql/sqlplus | mongo |
Cấu trúc Document đơn giản
Ví dụ dưới đây minh họa cấu trúc Document của một Blog site với một cặp key-value phân biệt bởi dấu phảy.
{ _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 } ] }
Ở đây, _id là một số thập lục phân 12 byte để đảm bảo tính duy nhất của mỗi Document. Bạn có thể cung cấp _id trong khi chèn vào Document. Nếu bạn không cung cấp, thì MongoDB sẽ cung cấp một id duy nhất cho mỗi Document. Trong 12 byte này, 4 byte đầu là cho Timestamp hiện tại, 3 byte tiếp theo cho ID của thiết bị, 2 byte tiếp là process id của MongoDB Server và 3 byte còn lại là giá trị có thể tăng.
Các bài học lập trình MongoDB phổ biến khác tại s2sontech:
Bình luận (0)