1

我正在为 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
     }
}

优先事项

  1. 表现
  2. 贮存
  3. 可维护性
4

1 回答 1

1

当您说“读取”数据时,它可能取决于您希望执行的查询类型。您是一直在阅读整个文档,还是打算过滤掉性别类型并对内容进行数学运算?数组通常需要 MapReduce 或聚合框架来处理某些类型的查询。这在大型集合上可能会很昂贵,而处理“女性”对象的集合可以更加声明性地编写和处理。

你能详细说明你想对数据做些什么吗?你可能会得到更明确的答案。

于 2012-10-08T13:31:18.963 回答