繁体   English   中英

$text - 查找 mongoDB 后的 $search 聚合

[英]$text - $search aggregation after lookup mongoDB

我需要通过关键字搜索我的数据库的文档,我在 mongo 的官方网站文档中找到了这个 但是,我有几个问题:

  1. 我需要先进行查找,而 mongo 想要$text搜索作为第一个管道,所以如果我在此之后进行查找,那么我会从查找中排除这些字段。

  2. 我只需要在一些固定字段之间搜索,而不是到处搜索。

例如,我的文档如下所示:

{
  _id: ObjectId('60dcb67ebe94846b27402dc7'),
  field1: "dada",
  field2: "lalala",
  field3: "nanana",
  creator: ObjectId('632cb67ebe94846b27402dc1')
}

我需要在field1field2和来自creator 的一些字段中进行搜索,比如说creator.name ,我将在查找后得到。 根据文档,首先我必须创建一个索引,所以让我们在field1 之后,我必须将$text聚合放在$match管道中,但作为它的第一个。

您认为可以先进行查找,然后再进行 $text 搜索吗? 还可以指定要搜索的字段吗?

要执行文本搜索查询,您的集合中必须有一个文本索引 一个集合只能有一个文本搜索索引,但该索引可以覆盖多个字段。 您不能创建跨越多个集合的测试索引。

此外,包含$text$match阶段必须是管道中的第一个阶段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM