[英]$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.