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

$skip dan $limit dalam kerangka agregasi

Karena ini adalah kueri penelusuran teks yang sedang kita bicarakan, maka bentuk yang paling optimal adalah ini:

db.collection.aggregate([
    { 
       "$match": {
               "$text": { "$search": "cake tea" }
    }
    },
    { "$sort": { "score": { "$meta": "textScore" } } },
    { "$limit": skip + limit },
    { "$skip": skip }
])

Alasan cadangan memori dari hasil "sort" teratas hanya akan berfungsi dalam "batas" itu sendiri dan ini tidak akan optimal untuk apa pun di luar beberapa "halaman" data yang wajar.

Di luar apa yang wajar untuk konsumsi memori, tahap tambahan kemungkinan akan memiliki efek negatif daripada positif.

Ini benar-benar batasan praktis dari kemampuan pencarian teks yang tersedia untuk MongoDB dalam bentuk saat ini. Namun untuk hal yang lebih mendetail dan membutuhkan kinerja lebih, maka seperti halnya dengan banyak solusi "teks lengkap" SQL, Anda lebih baik menggunakan solusi pencarian teks "dibuat khusus" eksternal.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Arsitektur aplikasi berbasis luwak

  2. Enum di MongoDB

  3. Penggunaan opsiFindAndModify tidak didukung

  4. Cara Terbaik untuk Menghosting MongoDB di DigitalOcean

  5. 3 Cara Mengonversi String ke Tanggal di MongoDB