Der MongoDB-Index wird nicht verwendet

9

Ich habe eine Sammlung von Fragen mit Index auf modifiziert.

%Vor%

Aber wenn ich die Fragen mit modifiziertem Feld abfrage, benutzt Mongo diesen Index nicht.

%Vor%

Es gibt

zurück %Vor%

Wenn ich hint() verwende, gibt mongo den Fehler bad hint aus. Ich habe eine andere Sammlung von Ordnern, die genau den gleichen Index hat und die Abfrage verwendet den Index. (gibt "cursor" : "BtreeCursor modified_1" für explain() zurück)

Was könnte der Unterschied zwischen Fragen und Ordnern sein? Ist es möglich, dass der Index "gebrochen" ist, obwohl getIndexes() ihn zurückgibt? Wenn ja, was kann ich tun, um es zu beheben?

    
Satoko 12.01.2018, 22:53
quelle

1 Antwort

2

Es scheint, dass Ihr Index nicht vollständig im Hintergrund erstellt wurde. Sie können dies überprüfen, indem Sie den Befehl db.currentOp () verwenden:

Ссылка

Überprüfen Sie auch die Datei mongod.log, um Fehler beim Indexerstellungsprozess zu sehen.

Der einfache Weg zum Reparieren besteht darin, den Index zu löschen und erneut zu erstellen

    
anhlc 18.01.2018, 23:29
quelle

Tags und Links