我正在关注预汇总报告的官方MongoDB文档(http://docs.mongodb.org/ecosystem/use-cases/pre-aggregated-reports/)。按照教程,预聚合的文件应该是这样的:MongoDB预先汇总报告的模式设计
{
_id: "20101010/site-1/apache_pb.gif",
metadata: {
date: ISODate("2000-10-10T00:00:00Z"),
site: "site-1",
page: "/apache_pb.gif" },
hourly: {
"0": 227850,
"1": 210231,
...
"23": 20457 },
minute: {
"0": {
"0": 3612,
"1": 3241,
...
"59": 2130 },
"1": {
"0": ...,
},
...
"23": {
"59": 2819 }
}
}
的事情是,我目前使用这种方法,我已经存储了这样一些数据。但是现在我想在元数据子文档中添加另一个维度,我正在重新考虑整个事情。
我的问题是:是否有理由建立存储在元数据属性中的相同信息的_id属性?仅仅创建一个围绕元数据的复合索引(唯一的)并且对_id键使用ObjectId是不够的?
谢谢!
是的,这将是罚款。在这里使用'_id'看起来只是为了方便,因为它完全匹配一个URI段。 – wdberkeley