我们有一组用户数据,由一个文档中表示的名称/值对组成。我们正在使用mongodb存储该数据,并且正在考虑将名称/值对的文档作为字符串放在集合中的单个字段中,而不是为mongo中的每个名称/值对创建单独的字段并直接放置每个对进入自己的领域。
有没有人对前者为什么不好主意有任何意见。我们不期望每个查询有很多记录,每条记录可能有大约100个名称/值对
答案 0 :(得分:2)
好吧,我认为将它存储为单个字符串没有任何好处。文档大小将大致相似,您将无法索引单个对的名称字段,并且您无法查询是否存在特定的名称/值对。另一方面,我想不到一个好处。唯一真正的选择是,是否这样做:
{
name1: value1,
name2: value2,
name3: value3
}
或
[
{
name: name1,
value: value1
},
{
name: name2,
value: value2
},
{
name: name3,
value: value3
}
]
答案 1 :(得分:0)
如果您需要搜索“name = xxx”和“value =”xxx“的位置,建议对后一种情况编制索引的方法是什么。应该将整个子文档编入索引,还是每个字段(例如”名称“) “和”价值“?