सबसे पहले, आप &
ऑपरेटर
इस तरह:
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");
फिर, आप Regex
का उपयोग कर सकते हैं
उन उत्पादों को फ़िल्टर करने के लिए जिनके नाम में कोई भी बाकी शब्द/बाकी सभी शब्द शामिल हैं।
या खोज (नाम में "कपास" या "स्पाइडरमैन" शामिल है)
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;
और खोज (नाम में "कपास" और "स्पाइडरमैन" शामिल हैं)
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;