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

Urutan pencarian produk substring MongoDB berdasarkan kecocokan tertinggi

Pertama-tama, Anda dapat menggabungkan beberapa filter dengan menggunakan & operator seperti ini:

var builder = Builders<Product>.Filter;
FilterDefinition<Product> filter = builder.Empty;
filter &= builder.Eq("Color", "blue");
filter &= builder.Eq("Retailer", "adidas");
filter &= builder.Eq("Category", "men");

Kemudian, Anda dapat menggunakan Regex untuk memfilter produk yang namanya mengandung kata lain/semua kata lainnya.
ATAU cari (namanya mengandung "kapas" ATAU "spiderman")

var restWords = new string[] { "cotton", "spiderman" };
var orReg = new System.Text.RegularExpressions.Regex(string.Join("|", restWords));
filter &= builder.Regex("Name", BsonRegularExpression.Create(orReg));

List<Product> filteredList = products.Find(filter).ToListAsync().Result;

DAN cari (namanya mengandung "kapas" DAN "spiderman")

foreach (var word in restWords)
{
    filter &= builder.Regex("Name", BsonRegularExpression.Create(new System.Text.RegularExpressions.Regex(word)));
}

List<Product> filteredList = products.Find(filter).ToListAsync().Result;



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Jawa | Bagaimana mengelola koneksi

  2. Saat menyimpan koleksi, MongoDB membuat nama Indeks yang terlalu panjang dan melebihi batas 127 byte. Bagaimana memecahkan ini. dapatkah saya menonaktifkan pengindeksan?

  3. Operator Agregasi MongoDB untuk Bagian Tanggal Pengembalian

  4. Bagaimana menulis query Mongo untuk menemukan sub dokumen dengan kondisi

  5. MongoDB $lookup Nilai Kembali ke Array