[英]$text - $search aggregation after lookup mongoDB
我需要通过关键字搜索我的数据库的文档,我在 mongo 的官方网站文档中找到了这个。 但是,我有几个问题:
我需要先进行查找,而 mongo 想要$text
搜索作为第一个管道,所以如果我在此之后进行查找,那么我会从查找中排除这些字段。
我只需要在一些固定字段之间搜索,而不是到处搜索。
例如,我的文档如下所示:
{
_id: ObjectId('60dcb67ebe94846b27402dc7'),
field1: "dada",
field2: "lalala",
field3: "nanana",
creator: ObjectId('632cb67ebe94846b27402dc1')
}
我需要在field1
、 field2
和来自creator 的一些字段中进行搜索,比如说creator.name
,我将在查找后得到。 根据文档,首先我必须创建一个索引,所以让我们在field1
。 之后,我必须将$text
聚合放在$match
管道中,但作为它的第一个。
您认为可以先进行查找,然后再进行 $text 搜索吗? 还可以指定要搜索的字段吗?
要执行文本搜索查询,您的集合中必须有一个文本索引。 一个集合只能有一个文本搜索索引,但该索引可以覆盖多个字段。 您不能创建跨越多个集合的测试索引。
此外,包含$text
的$match
阶段必须是管道中的第一个阶段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.