Ditt index borde faktiskt bero på hur din fråga ser ut. Anta att din meddelandefråga ser ut så här:
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});
Då skulle du behöva bygga ett index på meddelandesamlingen specifikt för den här frågan. I det här fallet:
db.Message.createIndex({_p_chatRoom:1, _p_user:1, isSeen: -1, _created_at: -1})
Alternativt kommer ett index med bara chattrum att fungera mycket bättre än inget index alls
db.Message.createIndex({_p_chatRoom:1})
För att verkligen förstå vilka index som ska byggas, måste du läsa på Mongo-dokumenten https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex
Jag använder personligen MLab för min Parse MongoDB, eftersom jag inte är så kunnig om databaser, och de har faktiskt en långsam frågeanalysator som rekommenderar index baserat på vanliga frågor i din applikation, så om du inte vill lära dig de fina punkterna av MongoDB-indexering, så är MLab ett bra ställe att börja