sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB .NET drivrutin och textsökning

När jag sökte efter lösning hittade jag FilterDefinition<T>.Inject() tilläggsmetod. Så vi kan gå djupare och skapa ytterligare ett tillägg 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());
    }
}

Och använd det så här:

IMongoDatabase database = GetMyDatabase();

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

Hoppas detta hjälper någon :)



  1. Express Node.JS - Tar emot Redis-återuppringning, utför löften

  2. Mongoose hittar de tio senaste posterna i databasen

  3. mongo db (mongodb.service) misslyckades, status 14

  4. $elemMatch med distinkt