Votre index devrait en fait dépendre de l'apparence de votre requête. Supposons que votre requête de message ressemble à ceci :
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});
Ensuite, vous devrez créer un index sur la collection Message spécifiquement pour cette requête. Dans ce cas :
db.Message.createIndex({_p_chatRoom:1, _p_user:1, isSeen: -1, _created_at: -1})
Alternativement, un index avec juste la salle de discussion fonctionnera bien mieux que pas d'index du tout
db.Message.createIndex({_p_chatRoom:1})
Pour vraiment comprendre quels index construire, vous devrez lire la documentation Mongo https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex
J'utilise personnellement MLab pour mon Parse MongoDB, car je ne connais pas très bien les bases de données, et ils ont en fait un analyseur de requêtes lent qui recommande des index basés sur des requêtes courantes dans votre application, donc si vous ne voulez pas apprendre les points les plus fins de l'indexation MongoDB, alors MLab est un excellent point de départ