Anda harus membuat indeks teks pada bidang yang ingin Anda cari:
db.deals.ensureIndex({ name: "text", description : "text", category : "text" });
Dari dokumentasi operator $text:
$text melakukan pencarian teks pada konten bidang yang diindeks dengan indeks teks.
Indeks yang Anda buat untuk tiga bidang Anda adalah indeks gabungan, bukan indeks teks. Indeks teks akan terlihat seperti ini:
{
"v" : 1,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "name_text_description_text_category_text",
"ns" : "test.deals",
"weights" : {
"category" : 1,
"description" : 1,
"name" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 2
}