sql >> Database >  >> NoSQL >> MongoDB

MongoDB .NET-stuurprogramma en tekst zoeken

Op zoek naar een oplossing vond ik FilterDefinition<T>.Inject() uitbreidingsmethode. We kunnen dus dieper gaan en nog een extensie maken op 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());
    }
}

En gebruik het als volgt:

IMongoDatabase database = GetMyDatabase();

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

Ik hoop dat dit iemand helpt :)



  1. Het gebruik van findOne in een lus duurt te lang in Node.js

  2. Waar slaat MongoDB zijn documenten op?

  3. Waarom wordt MongoDB niet bijgewerkt tenzij ik .then res.json(...) bel na findOneAndUpdate?

  4. Hoe de variantwaarden van elk product retourneren als dat product een variant is?