MongoDB được xếp vào danh mục NoSQL Document. Tất cả các item của MongoDB đều được lưu trữ dưới dạng JSON Object (ko giống như Redis chỉ lưu trữ object dạng string).
MongoDB có database, mỗi database có nhiều collection, và mỗi collection chứa nhiều document. Lưu ý là document ko cần thiết phải giống nhau về cấu trúc, thích vứt gì vào cũng đc. Nếu so sánh với RDBMS, thì database tương đương database, collection tương đương với table, document tương đương với row.
Cơ chế của mongo là lưu tất cả dữ liệu trên đĩa, cache index và một số dữ liệu hay dùng trên RAM (so với Redis là memory-mapped, tức là backup dữ liệu trên đĩa và lưu tất cả dữ liệu trên RAM). MongoDB chạy trên hệ thống 32bit bị giới hạn tổng dữ liệu là 2GB, giới hạn này ko có trên hệ thống 64bit. Yêu cầu: CODE
Lưu ý: Tất cả các đoạn lệnh PHP trong bài viết đều nằm trong cặp thẻ <?php ?> Kết nối đến DB: PHP Code: CODE
hoặc nếu có authen: PHP Code: CODE
Chọn database: PHP Code: CODE
Chọn collection: PHP Code: CODE
Insert bản ghi PHP Code: CODE
Cái item kia sẽ có dạng cấu trúc sau: Code: CODE
Tất cả các item trong MongoDB đều có một attribute _id. Nếu ko gán giá trị cho attribute này lúc insert, thì mặc định MongoDB sẽ gán một object MongoID vào. Tốt nhất là lúc insert cứ gán vào, vì nếu ko gán, select bằng attribute _id này rất khó, trừ trường hợp ko select bằng _id. Lưu ý là MongoDB phân biệt rõ ràng kiểu int và string, vì vậy nên ép về đúng kiểu lúc insert để tiện đường sau này. Cái này là rút ra từ kinh nghiệm bản thân Update: PHP Code: CODE
Query: Tìm nhiều bản ghi: PHP Code: CODE
Lưu ý: cách này trả về MongoCursor, chứ ko phải array, thế nên phải dùng foreach để chạy qua từng item một. hoặc dùng cách này để không phải dùng foreach mà có luôn một array tất cả các item: PHP Code: CODE
Tìm một bản ghi, lưu ý method này luôn trả về array assoc, key sẽ là attribute của item: PHP Code: CODE
Bây h sẽ là tìm theo điều kiện advanced hơn chút: Tìm user hơn 24 tuổi: PHP Code: CODE
Danh sách tất cả operator xem ở đây: http://docs.mongodb.org/manual/reference/operator/ Tìm user hơn 24 tuổi và active: PHP Code: CODE
Tìm user có job là Lover: PHP Code: CODE
Bỏ qua 20 user đầu: PHP Code: CODE
Bỏ qua 20 user đầu, và chỉ lấy 10 user: PHP Code: CODE
Sort theo tuổi: Sort asc thì dùng giá trị 1: PHP Code: CODE
Sort desc thì dùng giá trị -1: PHP Code: CODE
Xoá user: PHP Code: CODE
Tạo index: Giá trị 1 cho sort ASC, -1 cho sort DESC: PHP Code: CODE
Index sao cho email phải là unique: PHP Code: CODE
Index email unique, chạy background lúc index (tức là async): PHP Code: CODE
Index nhiều attribute: PHP Code: CODE
|
Thêm vào trang Google +
Số lần xem : 17922
Đánh giá