MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara terbaik untuk melakukan pencarian teks lengkap di MongoDB dan Mongoose

Anda dapat menambahkan indeks teks ke definisi skema Mongoose Anda yang memungkinkan Anda menggunakan $text operator di find kueri untuk mencari semua bidang yang termasuk dalam indeks teks.

Untuk membuat indeks untuk mendukung pencarian teks, katakanlah, name dan profile.something :

var schema = new Schema({
  name: String,
  email: String,
  profile: {
    something: String,
    somethingElse: String
  }
});
schema.index({name: 'text', 'profile.something': 'text'});

Atau jika Anda ingin memasukkan semua bidang string dalam indeks, gunakan '$**' kartu pengganti:

schema.index({'$**': 'text'});

Ini akan memungkinkan Anda untuk melakukan kueri penelusuran teks berhalaman seperti:

MyModel.find({$text: {$search: searchString}})
       .skip(20)
       .limit(10)
       .exec(function(err, docs) { ... });

Untuk detail selengkapnya, baca dokumentasi lengkap Indeks Teks MongoDB.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $detik

  2. String luwak ke ObjectID

  3. Perintah Hitung MongoDB

  4. DropIndex MongoDB()

  5. Bagaimana cara mengatasi masalah zona waktu saat menyimpan tanggal di utc menggunakan mongod?