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?
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