zkontrolujte, ve kterém poli máte definovaný textový index. Právě nyní mongodb umožňuje pouze jeden textový index na kolekci. takže pokud jste definovali textový index ve sloupci desc a pokusíte se tento index použít v nějakém jiném sloupci, musíte dostat tuto chybu.
můžete zkusit dotaz na svůj index a zjistit, ve kterém sloupci jste jej vytvořili. Chcete-li získat indexy, můžete provést
db.collection.getIndexes()
a vrátí něco takového
[
{
"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
}
]
Pokud nyní chcete použít tento index i v jiných sloupcích, jednoduše tento index vypusťte
db.collection.dropIndex('desc_text');
a poté jej znovu vytvořte zahrnutím všech sloupců, které chcete pokrýt textovým indexem,
db.collection.createIndex({
title:'text;,
body: 'text;,
desc: 'text',
...... and so on
});