MongoDB中的有序固定长度数组

4

我是一名新手,尝试设计存储数据的方式,以便能够进行所需的查询。假设我有一个类似以下结构的文档:

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

在这里,数组“foo”始终具有长度为3的意义。我希望能够进行查询以搜索所有“foo2”等于某个值的文档。本质上,我想像处理任何旧数组一样对待“foo”,并能够在搜索中对其进行索引,例如,“foo”[1] == something。

MonogDB是否支持此功能?将我的数据存储如下是否更正确,

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

你是想用这个代替吗?谢谢。

你是指"foo2" == something的意思是什么?还是你是指foo[2] == something的意思。 - styvane
我使用了一种简写方式,意思是“foo2”是数组“foo”的第二个位置,因此“foo2”与foo [1]相同。 - jms
1个回答

2

你所询问的架构是没有问题的。

在数组的特定索引位置插入: 使用$position运算符。请阅读此处

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

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

那样好一些,@user3100115? - world
谢谢,这回答了我的问题。 - jms

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接