sql >> Base de Datos >  >> NoSQL >> MongoDB

Indexación MongoDB para una aplicación Parse Server

Su índice en realidad debería depender de cómo se ve su consulta. Supongamos que la consulta de su mensaje se ve así:

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

Luego, deberá crear un índice en la colección de mensajes específicamente para esta consulta. En este caso:

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

Alternativamente, un índice con solo la sala de chat funcionará mucho mejor que ningún índice

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

Para comprender realmente qué índices crear, deberá leer un poco los documentos de Mongo https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

Yo personalmente uso MLab para mi Parse MongoDB, porque no tengo mucho conocimiento sobre bases de datos, y en realidad tienen un analizador de consultas lento que recomienda índices basados ​​en consultas comunes en su aplicación, así que si no quiere aprender los puntos más finos de la indexación de MongoDB, entonces MLab es un excelente lugar para comenzar