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