проверете в кое поле сте дефинирали своя текстов индекс. В момента mongodb позволява само един текстов индекс на колекция. така че ако сте дефинирали текстов индекс в колона desc и се опитате да използвате този индекс в друга колона, вие непременно ще получите тази грешка.
можете ли да опитате да направите заявка за вашия индекс и да видите в коя колона сте го създали. За да получите индекси, можете да направите
db.collection.getIndexes()
и ще върне нещо подобно
[
{
"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
}
]
сега, ако искате да обхватите и други колони, за да използвате този индекс, просто пуснете този индекс
db.collection.dropIndex('desc_text');
и след това го създайте отново, като включите всички колони, които искате да бъдат обхванати от текстов индекс,
db.collection.createIndex({
title:'text;,
body: 'text;,
desc: 'text',
...... and so on
});