sql >> Databáze >  >> NoSQL >> MongoDB

Pořadí hledání podřetězců MongoDB podle nejvyšší shody

Nejprve můžete kombinovat více filtrů pomocí & operátor takhle:

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

Poté můžete použít Regex pro filtrování produktů, jejichž názvy obsahují jakákoli zbývající slova/všechna zbývající slova.
NEBO vyhledávání (název obsahuje „bavlnu“ NEBO „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;

A vyhledávání (název obsahuje „bavlna“ A „pavouk“)

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. MongoDB / Meteor / Export MONGO_URL do nasazených aplikací

  2. Jak můžeme vytvořit automaticky generované pole pro mongodb pomocí spring boot

  3. Přehled MongoDB a vyvažování zátěže

  4. Oznámení Redis Keyspace s flushdb