sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB .NET driver og tekstsøgning

Ved at søge efter løsning fandt jeg FilterDefinition<T>.Inject() udvidelsesmetode. Så vi kan gå dybere og oprette endnu en udvidelse på 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());
    }
}

Og brug det sådan her:

IMongoDatabase database = GetMyDatabase();

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

Håber dette hjælper nogen :)



  1. Deserialiseringsgrænseflade i MongoDB ved hjælp af C# - Ukendt diskriminatorværdi

  2. Sådan administreres brugere og godkendelse i MongoDB

  3. Er der en måde at få en bestemt nøgle til at finde på en specifik redis-instans i klyngetilstand?

  4. Sådan bygger du dynamisk mongodb-forespørgsel