假设我有以下架构
//LevelColor
{
"Colors" : [
{
"Color" : "Red", "Code" : "#FF0000"
},
{
"Color" : "Black", "Code" : "#000000"
},
{
"Color" : "White", "Code" : "#FFFFFF"
}
]
}
我有索引
{"Colors.Color" : 1}
但是出于某些特定原因,我只需要查询第一个元素,比如
{"Colors.0.Color" : "Red"}
在上面的查询索引中没有被使用但是对于下面的查询它正在被利用
{"Colors.Color" : "Red"}
但我需要查询第一个元素,在第一个元素上查询的任何替代方法,或者我可以优化索引以在同一个查询中使用。
答案 0 :(得分:0)
要使用索引支持第一个元素查询,您必须通过在以下位置创建索引,仅在Colors
的第一个元素上创建索引:
{"Colors.0.Color" : 1}