Dit indeks burde faktisk afhænge af, hvordan din forespørgsel ser ud. Antag, at din meddelelsesforespørgsel ser sådan ud:
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});
Så skal du bygge et indeks på meddelelsessamlingen specifikt til denne forespørgsel. I dette tilfælde:
db.Message.createIndex({_p_chatRoom:1, _p_user:1, isSeen: -1, _created_at: -1})
Alternativt vil et indeks med kun chatrummet fungere meget bedre end slet intet indeks
db.Message.createIndex({_p_chatRoom:1})
For virkelig at forstå, hvilke indekser du skal bygge, skal du læse lidt om Mongo-dokumenterne https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex
Jeg bruger personligt MLab til min Parse MongoDB, fordi jeg ikke er særlig vidende om databaser, og de har faktisk en langsom forespørgselsanalysator, der anbefaler indekser baseret på almindelige forespørgsler i din applikation, så hvis du ikke vil lære de finere punkter af MongoDB-indeksering, så er MLab et godt sted at starte