我是monogDB的新手,并尝试设计我存储数据的方式,以便我可以进行我想要的各种查询。说我有一个看起来像
的文件{
"foo":["foo1","foo2","foo3"],
"bar":"baz"
}
阵列" foo"总是长度为3,项目的顺序是有意义的。我希望能够创建一个查询,搜索所有文件,其中" foo2" ==东西。基本上我想要治疗" foo"像任何旧数组一样,并且能够在搜索中对其进行索引,所以类似于" foo" [1] ==某事。
monogDB是否支持此功能?存储我的数据会更正确吗,
{
"foo":{
"foo1":"val1",
"foo2":"val2",
"foo3":"val3"
},
"bar":"baz"
}
代替?感谢。
答案 0 :(得分:2)
您提出的架构很好。
要插入数组的特定索引:
使用$position
运算符。阅读here。
要在特定索引位置查询:
使用语法key.index
。如:
db.users.find({"foo.1":"foo2"})