Verwendung von useIndex im mongodb-Schema mit Hilfe von mongoose

7

Ich möchte ensureIndex auf der authorName aufrufen, was ist der Befehl und wo in diesem Code sollte ich es setzen?

%Vor%     
bouncingHippo 07.11.2012, 15:30
quelle

4 Antworten

21

Wenn Sie ensureIndex nicht direkt aufrufen, geben Sie an, dass das Feld wie folgt in Ihrem Schema indiziert werden soll:

%Vor%

Ausgehend von dieser Definition ruft Mongoose ensureIndex für Sie auf, wenn Sie das Modell über den Aufruf mongoose.model registrieren.

Um die Aufrufe von ensureIndex zu sehen, die Mongoose ausführt, aktivieren Sie die Debugausgabe, indem Sie Ihrem Code Folgendes hinzufügen:

%Vor%     
JohnnyHK 07.11.2012, 15:38
quelle
11

Sie könnten diese Aussage verwenden:

%Vor%

Wenn Sie zum Beispiel einige Integrationstests durchführen möchten, müssen Sie Ihre Sammlungen schnell löschen. In diesem Fall erstellt mongoose während der Laufzeit keine Indizes mehr, selbst wenn die Option autoIndex auf true gesetzt ist. Diese Antwort könnte in diesem Fall nützlich sein.

    
FelikZ 14.11.2014 13:14
quelle
2

Sie können die Indexmethode Schema # aufrufen, um den Index zu erstellen

%Vor%

Sie können das Erstellen eines Indexereignisses anhören.

%Vor%

Hinweis: Das Erstellen des Indexes erfolgt asynchron. Wenn Sie einen eindeutigen Index erstellen, können Sie keine doppelten Daten einfügen. oder das Erstellen eines Index schlägt fehl;

    
许庆钢 13.05.2017 03:12
quelle
1

Definieren Sie zuerst den Index für das Feld autornName, und wenn Sie aufgrund einer bestimmten Anforderung manuell den Sicherheitsindex aufrufen möchten, müssen Sie autoIndex auf false setzen. So würde Ihr Schema aussehen:

%Vor%

Und basierend auf der Anforderung können Sie die Methode "useIndexes" für das Modell aufrufen, das Sie mit diesem Schema erstellt haben.      ProjectModel.ensureIndexes ();

    
GauravLuthra 24.03.2016 19:52
quelle