首页 文章

如何在cosmosDb mongoDb中定义索引

提问于
浏览
1

我在cosmos db中有以下文档结构:

{
 "insertDate": "10-10-2016",
 "docName" : "dname",
 "subDoc": {
     "aggregate": {
             "first": 1,
             "second": 2
      }
     "result": [
         {
          "name": "key",
          "count": 1
         },
         {
          "name": "val"
          "count": 2
         }
     ]
}
}

在cosmosdb中创建集合时,我需要在subDoc / aggregate(不是它的子元素)和subDoc / result数组上定义索引 .

有人可以检查我的索引是否正确吗?

对于subDoc / aggreate,我有这样的:

{
     "path": "/\"subDoc/aggreate\"/?",
     "indexes": [
         {
             "kind": "Hash",
             "dataType": "String",
             "precision": 3
         },
         {
             "kind": "Range",
              "dataType": "Number",
              "precision": -1
         }
     ]
}

对于数组部分,索引如下所示:

{
            "path": "/\subDoc/result/[]\"/?",
            "indexes": [
                {
                    "kind": "Hash",
                    "dataType": "String",
                    "precision": -1
                },
                {
                    "kind": "Range",
                    "dataType": "Number",
                    "precision": -1
                }
            ]
        }

1 回答

  • 0

    你需要替换'?'按'*':

    “path”:“/ subDoc / aggregate / *”

    此外,对于Number和String数据类型,建议选择范围索引w /精度为-1(即使所有值都是数字) .

    索引结果数组下的所有内容:

    “path”:“/ subDoc / result / *”

相关问题