我可以创建一个字段名称为URL格式的复合索引吗?

问题描述 投票:0回答:1

我们目前正在通过mongodb和spring开发一个大数据传输流程。 我使用compass创建了一个复合索引,但实际上并没有使用它。 貌似字段名是Url格式,无法识别。 这种情况有办法使用吗?

我无法修改字段名称。

已发布的字段名称在这里。

context.extensions.http://test.kr/test/contexts/extensions/partner-id

这是一个根据时间戳和partner-id字段搜索值的查询。

db.massive_data.find({
  $and: [
    {
      $expr: {
        $eq: [
          {
            $getField: {
              field: "http://test.kr/test/contexts/extensions/partner-id",
              input: "$context.extensions"
            }
          },
          "123231204-7088-5d5e-add6-f1241213b4a"
        ]
      }
    },
    {
      timestamp: {
        $gte: "2024-06-27T00:00:00.000Z",
        $lt: "2024-06-27T23:59:59.999Z"
      }
    }
  ]
});

我如何用这两个字段创建撰写索引?

时间戳和 context.extensions.http://test.kr/test/contexts/extensions/partner-id

使用 MongoCompass,我创建了这些字段的组合索引。 但是,没用过。

mongodb mongodb-query aggregation compound-index
1个回答
0
投票

根据Documentataion,包含点(

.
)或美元符号(
$
)的字段名称不能被索引。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.