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

MongoDB-indeksering for en Parse Server-applikation

Dit indeks burde faktisk afhænge af, hvordan din forespørgsel ser ud. Antag, at din meddelelsesforespørgsel ser sådan ud:

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

Så skal du bygge et indeks på meddelelsessamlingen specifikt til denne forespørgsel. I dette tilfælde:

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

Alternativt vil et indeks med kun chatrummet fungere meget bedre end slet intet indeks

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

For virkelig at forstå, hvilke indekser du skal bygge, skal du læse lidt om Mongo-dokumenterne https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

Jeg bruger personligt MLab til min Parse MongoDB, fordi jeg ikke er særlig vidende om databaser, og de har faktisk en langsom forespørgselsanalysator, der anbefaler indekser baseret på almindelige forespørgsler i din applikation, så hvis du ikke vil lære de finere punkter af MongoDB-indeksering, så er MLab et godt sted at starte




  1. Elementet 'id' matcher ikke noget felt eller egenskab af fejl med indlejrede klasser

  2. Grundlæggende om implementering af et MongoDB-replikasæt og -skår ved hjælp af dukke

  3. Skal jeg være admin for at oprette en ny bruger i MongoDB?

  4. MongoError:topologi blev ødelagt under brug med NextJs api