kontrollera på vilket fält du har ditt textindex definierat. Just nu tillåter mongodb endast ett textindex per samling. så om du har definierat ett textindex på beskrivningskolumnen och försöker använda det indexet på någon annan kolumn är du skyldig att få det här felet.
kan du försöka fråga ditt index och se i vilken kolumn du skapade det. För att få index kan du göra
db.collection.getIndexes()
och det kommer att returnera något sånt här
[
{
"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
}
]
nu om du vill omfång i andra kolumner också för att använda detta index, släpp helt enkelt detta index
db.collection.dropIndex('desc_text');
och återskapa det sedan genom att inkludera alla kolumner som du vill ska omfattas av textindex,
db.collection.createIndex({
title:'text;,
body: 'text;,
desc: 'text',
...... and so on
});