MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Kolejność wyszukiwania produktów w podciągu MongoDB według najwyższego dopasowania

Przede wszystkim możesz połączyć wiele filtrów za pomocą & operator tak:

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

Następnie możesz użyć Regex aby filtrować produkty, których nazwy zawierają wszelkie pozostałe słowa/wszystkie pozostałe słowa.
LUB wyszukiwanie (nazwa zawiera „bawełna” LUB „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;

ORAZ search (nazwa zawiera „bawełna” ORAZ „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 BasicDBObject vs dokument w java

  2. Problemy z CORS. Kolba <-> AngularJS

  3. Pobierz dane z mongoDB i Nodejs:toArray nie jest błędem funkcji

  4. Jak zaktualizować pole przy użyciu jego poprzedniej wartości w MongoDB/Mongoose?

  5. Wskazówki dotyczące zarządzania kopiami zapasowymi MongoDB dla klastrów podzielonych na fragmenty