在使用 MongoDB C# 驱动程序的文本搜索上指定筛选条件

本文关键字:搜索 条件 筛选 文本 MongoDB 驱动程序 | 更新日期: 2023-09-27 18:33:27

我正在尝试向针对MongoDB集合的文本搜索命令添加过滤条件。我可以在MongoLab中成功运行该命令,但是我无法通过MongoDB C#驱动程序获取正确的语法来执行该命令。

以下内容返回与搜索条件匹配的所有记录,但忽略筛选条件:

var textSearchCommand = new CommandDocument
{
    {"text", "Post"},
    {"search", "motorcycle"},
    {"filter", @"{""Type"":1}"}
};
var commandResult = this.Collection.Database.RunCommand(textSearchCommand);

有人知道我做错了什么吗?

在使用 MongoDB C# 驱动程序的文本搜索上指定筛选条件

正确的语法:

var filter = Query.EQ("Type", 1);
var textSearchCommand = new CommandDocument
{
    {"text", this.Collection.Name},
    {"search", searchString},
    {"filter", BsonValue.Create(filter)}
};
var commandResult = this.Collection.Database.RunCommand(textSearchCommand);