我正在尝试针对MongoDB集合向文本搜索命令添加过滤条件。我可以在MongoLab中成功运行该命令,但是我无法通过MongoDB C#驱动程序获取正确的语法来执行命令。
以下内容返回与搜索条件匹配但忽略过滤条件的所有记录:
var textSearchCommand = new CommandDocument
{
{"text", "Post"},
{"search", "motorcycle"},
{"filter", @"{""Type"":1}"}
};
var commandResult = this.Collection.Database.RunCommand(textSearchCommand);
任何人都知道我做错了什么?
答案 0 :(得分:3)
正确的语法:
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);