代码之家  ›  专栏  ›  技术社区  ›  Scott

存储任意键的更好方法是什么:MongoDB中的值数组

  •  0
  • Scott  · 技术社区  · 15 年前

    我有一个键值数组

    {Val1: [性别:男,年龄:23,最喜欢的颜色:红色] }

    关于这个数组的问题是它的结构绝不是结构化的,我也不能保证再次看到相同的键值。例如,我可以看到下面的val2

    {Val2: [性别:男,发色:红,高:6'1”] }

    我的问题是,在Mongo中将这些键中的每一个作为列更好,还是应该将它们保存在一个数组中?我知道使用MongoDB可以创建任意数量的列,所以理论上任何一种方法都可以工作。如果我想查询一个数组是否包含值为“male”的“sex”键,在我将值保存在对象的嵌套数组中的示例中,这是否可能?

    1 回复  |  直到 15 年前
        1
  •  0
  •   sdot257    15 年前

    什么 valX 不管怎样?我只使用常规的“列”。

    john : { gender:"male", age:23, favorite-color:red }
    bob : { gender:"male", age:25, favorite-color:blue }
    susan : { gender:"female", age:20, favorite-color:yellow }
    

    您可以使用基本查询对3个字段进行搜索。