在mongoDB中有序的固定长度数组

我是monogDB的新手,并尝试设计我存储数据的方式,以便我可以进行我想要的各种查询.说我有一个看起来像的文件

{
    "foo":["foo1","foo2","foo3"],
    "bar":"baz"
}

数组“foo”总是长度为3,并且项目的顺序是有意义的.我希望能够查询搜索“foo2”==某些内容的所有文档.基本上我想像任何旧数组一样对待“foo”并能够在搜索中对其进行索引,所以像“foo”[1] ==某些东西.

monogDB支持这个吗?存储我的数据是否更正确,

{
    "foo":{
        "foo1":"val1",
        "foo2":"val2",
        "foo3":"val3"
    },
    "bar":"baz"
}

代替?谢谢.

最佳答案 您询问的架构很好.

要插入特定的数组索引:
使用$position运算符.阅读here.

要在特定索引位置查询:
使用语法key.index.如:

db.users.find({"foo.1":"foo2"})
点赞