sql >> Database >  >> NoSQL >> MongoDB

MongoDB-indexering voor een Parse Server-toepassing

Uw index zou eigenlijk moeten afhangen van hoe uw zoekopdracht eruitziet. Stel dat uw berichtvraag er als volgt uitziet:

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

Dan zou u specifiek voor deze query een index op de berichtenverzameling moeten bouwen. In dit geval:

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

Als alternatief zal een index met alleen de chatroom veel beter presteren dan helemaal geen index

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

Om echt te begrijpen welke indexen je moet bouwen, moet je wat lezen in de Mongo-documenten https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

Ik gebruik persoonlijk MLab voor mijn Parse MongoDB, omdat ik niet erg veel kennis heb van databases, en ze hebben eigenlijk een langzame query-analysator die indexen aanbeveelt op basis van veelvoorkomende zoekopdrachten in uw toepassing, dus als u de fijnere punten niet wilt leren van MongoDB-indexering, dan is MLab een geweldige plek om te beginnen




  1. MongoDB:subdocument upsert

  2. Snelste manier om 100 miljoen documenten op ID te verwijderen

  3. Dropzone-bestand niet volledig verwerkt bij het aanroepen van processFile (File)

  4. MongoDB multidimensionale array-projectie