我正在尝试使用.find()
查询过滤MongoDB集合,并对结果运行文本搜索以降低查询成本,但我似乎无法将命令链接起来。< / p>
这是我尝试过的(不起作用):
db.jobs.find({
"salary.max": {
$gte: 50000,
$lte: 120000
}
}).runCommand("text", {
search: "metal"
})
我也以相反的顺序尝试了查询,这违背了目的,也没有用。
有没有办法将MongoDB中的.runCommand()
链接到.find()
?
答案 0 :(得分:5)
。find
函数返回一个DBCursor
,它没有.runCommand
- 函数。所以这显然不起作用。
但是在text
数据库命令中使用find-query的工作原理是什么。您可以在the documentation for text searching中阅读,可以将filter
作为可选参数传递给text命令。这些过滤器文档的工作方式与传递给find
的文档完全相同。
db.jobs.runCommand( "text", {
search: "metal",
filter: {
"salary.max": {
$gte: 50000,
$lte: 120000
}
}
} );