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