Đây là một cơ sở dữ liệu NoSQL thuộc loại cơ sở dữ liệu hướng văn bản mã nguồn mở, có hiệu năng, tính sẵn có và tính mở rộng cao được cung cấp và hổ trợ bởi 10gen. MongoDB lưu trữ dữ liệu dạng BSON. Không giống như các cơ sở dữ liệu quan hệ lưu dữ cấu trúc dữ liệu theo các bảng, MongoDB lưu trữ cấu trúc dữ liệu thành văn bản dựa JSON với mô hình động (gọi là BSON) khiến cho việc tích hợp dữ liệu cho các ứng dụng trở nên dễ dàng và nhanh hơn.
Mục tiêu chính của Mongo là giữ lại các thuộc tính thân thiện của SQL. Do đó các câu truy vấn khá giống với SQL nên MongoDB khá thích hợp cho các lập trình viên đã quen với ngôn ngữ truy vấn SQL. MongoDB có một khối lượng tính năng lớn và hiệu năng cao. Với các loại dữ liệu phong phú, nhiều truy vấn và việc giảm thời gian phát triển trong việc mô hình hóa các đối tượng. MongoDB được sử dụng tốt nhất với nhu cầu cần truy vấn động, cần tốc độ nhanh cho một cơ sở dữ liệu lớn vì MongoDB ngoài tốc độ đọc nhanh ra thì tốc độ ghi của nó rất nhanh.
Để cài đặt phiên bản ổn định mới nhất của MongoDB:
$ sudo apt-get install -y mongodb-org
Để cài đặt một phiên bản MongoDB xác định, ví dụ 2.6.1
$ sudo apt-get install -y mongodb-org=2.6.1 mongodb-org-server=2.6.1 mongodb-org-shell=2.6.1 mongodb-org-mongos=2.6.1 mongodb-org-tools=2.6.1
####3.1 Chạy dịch vụ MongoDB
Trước khi chúng ta có thể tạo và lưu tài liệu trong cơ sở dữ liệu của mình, chúng ta phải chạy MongoDB. Sẽ không có bất cứ tài liệu nào được lưu nếu dịch vụ chưa được chạy.Chỉ một câu lệnh đơn giản để chạy mongodb:
$ sudo service mongod start
$ mongo
$ show dbs;
$ use db_name
// Lưu một user
$ db.users.save({ name: 'Chris' });
// Lưu nhiều user
$ db.users.save({ name: 'Chris'}, { name: 'Holly' });
// show all users
$ db.users.find();
// Tìm một user xác định
$ db.users.find({ name: 'Holly' });
db.users.update({ name: 'Holly' }, { name: 'Holly Lloyd' });
// xóa tất cả
db.users.remove({});
// Xóa một tài liệu
db.users.remove({ name: 'Holly' });
Mặc định khi cài mongodb thì có 2 lưu ý sau:
- 1.Người dùng máy local có quyền truy cập và sử dụng database không cần xác thực user
- 2.Máy từ xa không có quyền truy cập vào database
Trường hợp 1 ta cần xác thực khi người dùng máy local truy cập vào database, ta chỉnh sửa file cấu hình /etc/mongodb.conf sửa auth=False thành auth=True. Sau đó resart lại dịch vụ Trên mỗi database ta sẽ tạo user với mật khẩu. Để sử dụng được database cần xác thực tài khoản
Xác thực sử dụng tài khoản vừa tạo
Trường hợp 2: để máy từ xa có thể truy cập vào database ta chỉnh sửa file cấu hình /etc/mongodb.conf
bind_ip=127.0.0.1
Đổi ip 127.0.0.1 thành ip của máy truy cập từ xa
bind_ip= ip_may_tuxa
http://nodejs.vn/topic/17/t%E1%BB%95ng-quan-v%E1%BB%81-mongodb
http://nodejs.vn/topic/192/gi%E1%BB%9Bi-thi%E1%BB%87u-v%E1%BB%81-mongodb