首页 > 解决方案 > MongoDB 中嵌套字段的文本搜索和文本索引

问题描述

我有一个看起来像这样的文档结构

{
  name:
  hobbies:[
    { tag: "food", description: "eating"},
    { tag: "soccer", description: "PL"}
  ]
}

是否可以仅在子字段上实现文本索引tag,以便我可以尝试仅tag检查子字段的文本搜索?

目前我正在尝试,但它肯定会检查描述标签。

db.users.createIndex({"hobbies" : "text"})

谢谢你的时间。

标签: node.jsarraysmongodb

解决方案


所以我能够使用多键索引来解决这个问题,这基本上允许我们为数组的每个元素创建一个索引。在我的例子中,我在包含嵌套对象的数组字段上使用了多键索引

db.inventory.createIndex( { "hobbies.tag": "text" } )

您可以从此处的文档MongoDB Multikey Index Docs中阅读更多相关信息


推荐阅读