2016-07-29 23 views
3

Bei dem Versuch zu verstehen, wie Parse-Indizes mit Mongo arbeiten, bemerkte ich, dass einige meiner langsamen Abfragen das Feld _rperm (aus der ACL) verwenden, obwohl ich es nicht in den Indizes angegeben Ich habe es definiert. Es ist nicht bei jeder Abfrage, also frage ich mich, warum einige Abfragen _rperm indiziert werden müssen und einige nicht.Indexing-Methoden in Parse für _rperm

Wenn ich nur durch die ID abfragen, scheint der Index {"_id": 1, "_rperm": 1} und nicht nur den Index {"_id": 1}, der bereits definiert ist.

Was macht Parsen im Hintergrund, um _rperm hinzuzufügen und wann muss ich es als Index hinzufügen?

Antwort

3

Der Grund für die inkonsistente Verwendung des _rperm-Indexes ist auf die Verwendung von useMasterKey im Cloud-Code zurückzuführen.

Wenn Sie den Hauptschlüssel mit der Abfrage verwenden, muss die ACL nicht überprüft werden. Aber, Wenn Sie in Ihrer Abfrage keinen Hauptschlüssel verwenden, müssen Sie das Feld _rperm in Ihren Sammlungen indizieren, damit diese Abfrage effizient ausgeführt werden kann.