sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB-indexering för en Parse Server-applikation

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




  1. Hur man kommer igång med databasautomatisering

  2. Hur kontrollerar man storleken på tidskrifter i mongodb?

  3. Fråga ISODate tid i perl

  4. Grails - Anslut till en MongoDB-databas med autentisering