我正在为MongoDB创建模式,我有两种类型的Gender集合模式。我想知道哪一个更适合阅读数据(集合可能包含数百万条记录,所以我现在无法评估,所以请不要“说试样数据”)
一个是数组类型:
"gender": [{
"GenderType":M/F/U,
"total:logins": 12,
"totaluser": 20,
"newuser": 11
},
{
"GenderType":M/F/U,
"total:logins": 12,
"totaluser": 20,
"newuser": 11
},
{
"GenderType":M/F/U,
"total:logins": 12,
"totaluser": 20,
"newuser": 11
}
]
第二个是对象类型。
"gender": {
"male": {
"total:logins": 12,
"totaluser": 20,
"newuser": 11
},
"female": {
"total:logins": 11,
"totaluser": 10,
"newuser": 10
}
"unknown": {
"total:logins": 11,
"totaluser": 10,
"newuser": 10
}
}
优先事项
答案 0 :(得分:1)
当您说“读取”数据时,它可能取决于您希望执行的查询类型。您是在阅读整个文档,还是打算过滤掉性别类型并对内容执行数学函数?数组通常需要MapReduce或Aggregation框架来处理某些类型的查询。这对于大型集合来说可能是昂贵的,而处理“女性”对象的集合可以更具声明性地编写和处理。
您能详细说明您想要对数据做些什么吗?您可能会得到更明确的答案。