【发布时间】:2021-07-24 11:04:09
【问题描述】:
我需要通过 关键字 搜索我的数据库的文档,我在 mongo 的官方网站文档中找到了 this。但是,我有几个问题:
-
我需要先进行查找,而 mongo 想要
$text搜索作为第一个管道,所以如果我在此之后进行查找,那么我会从查找中排除字段。 -
我只需要在一些固定字段之间搜索,而不是到处搜索。
例如,我的文档如下所示:
{
_id: ObjectId('60dcb67ebe94846b27402dc7'),
field1: "dada",
field2: "lalala",
field3: "nanana",
creator: ObjectId('632cb67ebe94846b27402dc1')
}
我需要在 field1、field2 和 creator 的一些字段中进行搜索,比如说 creator.name,我将在查找后得到这些字段。根据文档,首先我必须创建一个索引,所以让我们在field1 上进行操作。之后,我必须将 $text 聚合放在 $match 管道中,但作为它的第一个。
您认为可以先进行查找,然后再进行 $text 搜索吗?也可以指定要搜索的字段吗?
【问题讨论】:
标签: javascript mongodb mongodb-query