MongoDB将find与文本搜索相结合

A.M*_*M.K 3 mongodb mongodb-query mongojs

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

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

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

我也以相反的顺序尝试了查询,这违背了目的并且也无效.

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

Phi*_*ipp 5

这个.find函数返回一个DBCursor没有aa .runCommand-function的函数.所以这显然不起作用.

但是在text数据库命令中使用find-query的工作原理是什么.正如您可以在文档中阅读文本搜索一样,您可以将一个filter可选参数传递给text命令.这些过滤器文档与您传递的文档完全相同find.

db.jobs.runCommand( "text", { 
    search: "metal",
    filter: { 
        "salary.max": {
            $gte: 50000,
            $lte: 120000
        }
    }
} );
Run Code Online (Sandbox Code Playgroud)