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