使用C#在MongoDB文本搜索中使用OR条件

时间:2018-02-07 09:45:04

标签: c# mongodb

我使用mongodb的.NET驱动程序从C#查询mongodb。 以下代码为我提供了名称中包含“Foods”的餐馆名称。

public void FindResName(string question)
    {
        _client = new MongoClient("mongodb://localhost:27017");
        _database = _client.GetDatabase("test");
        var collection = _database.GetCollection<BsonDocument>("restaurants");

        collection.Indexes.CreateOne(
          Builders<BsonDocument>.IndexKeys.Text("name"),
          new CreateIndexOptions() { DefaultLanguage = "english", Name = "NameTextIndex" });

        var results = collection.Find(Builders<BsonDocument>.Filter.Text("Foods"))
        .Project(Builders<BsonDocument>.Projection.MetaTextScore("textScore"))
        .Sort(Builders<BsonDocument>.Sort.MetaTextScore("textScore"))
        .ToList();

       for(int count=0; count<10; count++)
        {
            Console.WriteLine(results[count]["name"].ToString());
        }
    }

我想要这样的东西

db.restaurants.find( { $text: { $search: "foods cafe mall" } } )

mongodb中的此查询将返回餐馆,其中包含食品或咖啡馆或商场或其名称的组合。我不知道如何在C#中执行此操作。 查询mongodb时如何在C#中应用OR条件?(文本搜索)

0 个答案:

没有答案