MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lập chỉ mục MongoDB cho ứng dụng Máy chủ phân tích cú pháp

Chỉ mục của bạn thực sự phải phụ thuộc vào truy vấn của bạn trông như thế nào. Giả sử truy vấn tin nhắn của bạn trông giống như sau:

var query = new Parse.Query("Message");
query.equalTo("chatRoom", aChatRoom);
query.equalTo("user", someUser);
query.equalTo("isSeen", false);
query.descending("createdAt");
query.find().then(function(results){//whatever});

Sau đó, bạn sẽ cần phải xây dựng một chỉ mục trên bộ sưu tập Thư dành riêng cho truy vấn này. Trong trường hợp này:

db.Message.createIndex({_p_chatRoom:1, _p_user:1, isSeen: -1, _created_at: -1})

Ngoài ra, một chỉ mục chỉ có phòng trò chuyện sẽ hoạt động tốt hơn nhiều so với không có chỉ mục nào

db.Message.createIndex({_p_chatRoom:1})

Để thực sự hiểu những chỉ mục nào cần xây dựng, bạn sẽ cần thực hiện một số thao tác đọc trên tài liệu Mongo https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

Cá nhân tôi sử dụng MLab cho Parse MongoDB của mình, vì tôi không am hiểu nhiều về cơ sở dữ liệu và họ thực sự có một trình phân tích truy vấn chậm đề xuất các chỉ mục dựa trên các truy vấn phổ biến trong ứng dụng của bạn, vì vậy nếu bạn không muốn tìm hiểu các điểm tốt hơn lập chỉ mục MongoDB, thì MLab là một nơi tuyệt vời để bắt đầu




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để bạn tham gia vào một mảng trong mongoose (mongodb) với node.js?

  2. Thực thi Mongo như Truy vấn (JSON) thông qua Java

  3. Cách tạo Người dùng và thêm Vai trò trong MongoDB

  4. Làm cách nào để xóa cảnh báo không dùng nữa này trong MongoDB và tại sao nó lại xảy ra?

  5. Model.find () trả về trống trong mongoose