首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongodb -嵌入式字段与嵌入式文档索引

mongodb -嵌入式字段与嵌入式文档索引
EN

Stack Overflow用户
提问于 2018-10-18 04:53:14
回答 1查看 130关注 0票数 0

所以,我想知道,如果我要在文档上创建一个索引,那么它是否也内在地为嵌入式字段创建了一个索引?

所以举个例子:

代码语言:javascript
复制
{
  name: {
          first: "Yukihiro",
          last: "Matsumoto"
        }
}

如果是嵌入的文档索引,将使用以下内容执行搜索:

代码语言:javascript
复制
   {
     "name.first": "Yukihiro",
     "name.last": "Matsumoto"
   }

让它使用索引进行搜索,还是会查找文档O(n)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-18 05:28:08

是的,只要文档不大于允许的索引大小- https://docs.mongodb.com/manual/core/index-single/#create-an-index-on-embedded-document

您可以检查特定的查询是否使用了查询上带有“explain”函数的索引。"stage": "IXSCAN"表示它使用了一个索引。

代码语言:javascript
复制
"winningPlan" : {
        "stage" : "FETCH",
        "inputStage" : {
                "stage" : "IXSCAN",
                "keyPattern" : {
                        "type" : 1
                },
                "indexName" : "type_1",
                "isMultiKey" : false,
                "isUnique" : false,
                "isSparse" : false,
                "isPartial" : false,
                "indexVersion" : 1,
                "direction" : "forward",
                "indexBounds" : {
                        "type" : [
                                "[\"teacher\", \"teacher\"]"
                        ]
                }
        }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52867233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档