MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB .NET драйвер и текстово търсене

Търсейки решение, намерих FilterDefinition<T>.Inject() метод на разширение. Така че можем да отидем по-дълбоко и да създадем още едно разширение на 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());
    }
}

И го използвайте така:

IMongoDatabase database = GetMyDatabase();

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

Надявам се това да помогне на някого :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb актуализира дълбоко вложен поддокумент

  2. Pymongo:insert_many + уникален индекс

  3. Поддокумент за намиране/актуализиране на Mongoose

  4. Java MongoDB получава стойност за поддокумент

  5. Пролетно стартиране на mongoDB като заявка за числови полета-Цяло число / Двойно