In MongoDB muss seit 2.6 die Gesamtgröße eines Indexeintrags weniger als 1024 Bytes betragen. Dokumentation hier
Mit anderen Worten, mindestens eines Ihrer Dokumente hat einen großen Wert in einem der Felder, die Sie zu indizieren versuchen.
Es ist im Allgemeinen keine gute Idee, sehr große Werte auf diese Weise zu indizieren, da dadurch ein großer Index erstellt wird, der im Vergleich zu einem kleineren weniger effizient ist, und mehr Speicherplatz im RAM benötigt, der auf einem MongoDB-Knoten besser genutzt werden könnte.
Sie könnten dies verwenden:mongod --setParameter failIndexKeyTooLong=false
.
Aber es sieht nicht nach einer guten Idee aus. Wenn Sie einen großen Text zu indizieren haben, sollten Sie die Verwendung des Volltextindex in Betracht ziehen oder einen Hash-Index verwenden.