Ich muss mehrere Deployment-Skripts wie Datenmigration und Fixtures für eine MongoDB-Datenbank erstellen und konnte nicht genügend Informationen darüber finden, wie Indizes mithilfe der Mongoose-API gelöscht werden. Dies ist ziemlich einfach, wenn Sie die offizielle MongoDB API verwenden:
So löschen Sie alle Indizes für die angegebene Sammlung:
db.collection.dropIndexes();
Allerdings würde ich dafür Mungo verwenden und ich habe versucht, executeDbCommand
angepasst von diesen Beitrag , aber ohne Erfolg:
Sollte ich die offizielle MongoDB-API für Node.js verwenden oder habe ich bei diesem Ansatz etwas übersehen?
Um dies über das Mongoose-Modell für die Sammlung zu tun, können Sie dropAllIndexes
der nativen Sammlung:
Aktualisieren
dropAllIndexes
ist in der Version 2.x des nativen Treibers veraltet, also dropIndexes
sollte stattdessen verwendet werden:
Es sieht so aus, als ob Sie versuchen, alle Indizes für eine bestimmte Sammlung zu löschen.
Laut den MongoDB-Dokumenten ist dies der richtige Befehl .
... Ich habe versucht, executeDbCommand zu verwenden, das von diesem Beitrag übernommen wurde, aber ohne Erfolg:
Um hier wirklich zu helfen, brauchen wir mehr Details:
err
Variable überprüft? "*"
nicht verwenden. Sie sollten sehr spezifische Indizes löschen und erstellen. Tags und Links javascript database node.js mongodb mongoose