MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Indizierung für eine Parse-Server-Anwendung

Ihr Index sollte eigentlich davon abhängen, wie Ihre Abfrage aussieht. Angenommen, Ihre Nachrichtenabfrage sieht folgendermaßen aus:

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

Dann müssten Sie speziell für diese Abfrage einen Index für die Message-Sammlung erstellen. In diesem Fall:

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

Alternativ wird ein Index nur mit dem Chatroom eine viel bessere Leistung erbringen als überhaupt kein Index

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

Um wirklich zu verstehen, welche Indizes erstellt werden müssen, müssen Sie die Mongo-Dokumentation https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

Ich persönlich verwende MLab für meine Parse MongoDB, weil ich mich nicht sehr mit Datenbanken auskenne und sie tatsächlich einen langsamen Abfrageanalysator haben, der Indizes basierend auf häufigen Abfragen in Ihrer Anwendung empfiehlt, wenn Sie also nicht die Feinheiten lernen möchten der MongoDB-Indizierung, dann ist MLab ein großartiger Ausgangspunkt