MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thứ tự tìm kiếm sản phẩm chuỗi con MongoDB theo kết quả phù hợp cao nhất

Trước hết, bạn có thể kết hợp nhiều bộ lọc bằng cách sử dụng & nhà điều hành như thế này:

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");

Sau đó, bạn có thể sử dụng Regex để lọc các sản phẩm, tên có chứa bất kỳ từ còn lại nào / tất cả các từ còn lại.
HOẶC tìm kiếm (tên chứa "bông" HOẶC "người nhện")

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;

tìm kiếm (tên chứa "cotton" VÀ "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. Lỗi Mongoose Promise

  2. Tại sao có dấu gạch dưới phía trước id tài liệu MongoDb?

  3. Mẹo lập kế hoạch lược đồ MongoDB

  4. Symfony QueryBuilder trả về con trỏ MongoDB thay vì mảng đối tượng

  5. Tổng hợp trung bình với Dấu thời gian chuỗi