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

Ovladač MongoDB .NET a textové vyhledávání

Při hledání řešení jsem našel FilterDefinition<T>.Inject() metoda rozšíření. Můžeme jít hlouběji a vytvořit další rozšíření na IMongoQueryable<T> :

public static class MongoQueryableFullTextExtensions
{
    public static IMongoQueryable<T> WhereText<T>(this IMongoQueryable<T> query, string search)
    {
        var filter = Builders<T>.Filter.Text(search);
        return query.Where(_ => filter.Inject());
    }
}

A použijte to takto:

IMongoDatabase database = GetMyDatabase();

var results = database
    .GetCollection<Blog>("Blogs")
    .AsQueryable()
    .WhereText("stackoverflow")
    .Take(10)
    .ToArray();

Doufám, že to někomu pomůže :)



  1. Hledání MongoDB ve sbírce

  2. Django, Redis:Kam umístit kód připojení

  3. Jaká je maximální velikost dávkové operace MongoDB?

  4. Zdá se, že Spring Data Mongo ignoruje hostitele v konfiguraci XML