periksa bidang mana yang Anda tentukan indeks teksnya. Saat ini mongodb hanya mengizinkan satu indeks teks per koleksi. jadi jika Anda telah menentukan indeks teks pada kolom desc dan mencoba menggunakan indeks itu pada beberapa kolom lain, Anda pasti akan mendapatkan kesalahan ini.
dapatkah Anda mencoba untuk menanyakan indeks Anda dan melihat di kolom mana Anda membuatnya. Untuk mendapatkan indeks, Anda dapat melakukan
db.collection.getIndexes()
dan itu akan mengembalikan sesuatu seperti ini
[
{
"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
}
]
sekarang jika Anda ingin cakupan di kolom lain juga untuk menggunakan indeks ini cukup jatuhkan indeks ini
db.collection.dropIndex('desc_text');
lalu buat ulang dengan memasukkan semua kolom yang ingin Anda cakup oleh indeks teks,
db.collection.createIndex({
title:'text;,
body: 'text;,
desc: 'text',
...... and so on
});