MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Indicizzazione MongoDB per un'applicazione Parse Server

Il tuo indice in realtà dovrebbe dipendere dall'aspetto della tua query. Supponiamo che la query del tuo messaggio sia simile a questa:

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});

Quindi dovresti creare un indice sulla raccolta di messaggi specificamente per questa query. In questo caso:

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

In alternativa, un indice con solo la chatroom funzionerà molto meglio di nessun indice

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

Per capire davvero quali indici costruire, dovrai leggere i documenti Mongo https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

Personalmente uso MLab per il mio Parse MongoDB, perché non sono molto esperto di database e in realtà hanno un analizzatore di query lento che consiglia indici basati su query comuni nella tua applicazione, quindi se non vuoi imparare i punti più fini dell'indicizzazione di MongoDB, MLab è un ottimo punto di partenza