簡體   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