Überprüfen Sie, in welchem Feld Sie Ihren Textindex definiert haben. Derzeit erlaubt mongodb nur einen Textindex pro Sammlung. Wenn Sie also einen Textindex für die Spalte desc definiert haben und versuchen, diesen Index für eine andere Spalte zu verwenden, erhalten Sie zwangsläufig diesen Fehler.
können Sie versuchen, Ihren Index abzufragen und zu sehen, in welcher Spalte Sie ihn erstellt haben. Um Indizes zu erhalten, können Sie
tundb.collection.getIndexes()
und es wird so etwas zurückgeben
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "some.ns"
},
{
"v" : 1,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "desc_text",
"ns" : "some.ns",
"weights" : {
"title" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 2
}
]
Wenn Sie jetzt auch andere Spalten verwenden möchten, um diesen Index zu verwenden, löschen Sie einfach diesen Index
db.collection.dropIndex('desc_text');
und erstellen Sie ihn dann neu, indem Sie alle Spalten einbeziehen, die vom Textindex abgedeckt werden sollen,
db.collection.createIndex({
title:'text;,
body: 'text;,
desc: 'text',
...... and so on
});