3

我正在尝试使用.find()查询过滤 MongoDB 集合并对结果运行文本搜索以降低查询成本,但我似乎无法链接命令。

这是我尝试过的(不起作用):

db.jobs.find({
    "salary.max": {
        $gte: 50000,
        $lte: 120000
    }
}).runCommand("text", {
    search: "metal"
})

我也以相反的顺序尝试了查询,这违背了目的并且也不起作用。

有没有办法在 MongoDB 中将a 链接.runCommand()到 a ?.find()

4

1 回答 1

5

这 。find函数返回一个DBCursor没有 aa函数的.runCommand函数。所以这显然是行不通的。

但是起作用的是在text数据库命令中使用您的查找查询。正如您在文本搜索文档中所读到的,您可以将 afilter作为可选参数传递给 text 命令。这些过滤器文档的工作方式与您传递给find.

db.jobs.runCommand( "text", { 
    search: "metal",
    filter: { 
        "salary.max": {
            $gte: 50000,
            $lte: 120000
        }
    }
} );
于 2013-10-02T14:10:10.470 回答