Arrays mongoDB中的有序定长数组

Arrays mongoDB中的有序定长数组,arrays,mongodb,Arrays,Mongodb,我是monogDB的新手,正在尝试设计存储数据的方式,以便能够执行我想要的查询类型。假设我有一个文档 { "foo":["foo1","foo2","foo3"], "bar":"baz" } 其中数组“foo”的长度始终为3,并且项的顺序有意义。我希望能够进行一个查询,搜索“foo2”==某物的所有文档。本质上,我希望像对待任何旧数组一样对待“foo”,并能够在搜索中对其进行索引,因此类似于“foo”[1]==something monogDB支持这一点吗?将我的数据存储为:

我是monogDB的新手,正在尝试设计存储数据的方式,以便能够执行我想要的查询类型。假设我有一个文档

{
    "foo":["foo1","foo2","foo3"],
    "bar":"baz"
}
其中数组“foo”的长度始终为3,并且项的顺序有意义。我希望能够进行一个查询,搜索“foo2”==某物的所有文档。本质上,我希望像对待任何旧数组一样对待“foo”,并能够在搜索中对其进行索引,因此类似于“foo”[1]==something

monogDB支持这一点吗?将我的数据存储为:

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

相反?谢谢。

您所询问的模式很好

要在数组的特定索引处插入: 使用
$position
操作符。阅读

在特定索引位置进行查询: 使用语法
键.index
。例如:

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

你说的“foo2”是什么意思?或者你的意思是
foo[2]==something
。我用速记的意思是“foo2”是数组“foo”中的第二个位置,所以“foo2”将与foo[1”相同。更好的@user3100115?谢谢你回答了我的问题。