我有以下文档结构:
{
_id: ...,
name: "Item1",
Props: [
{
Key: "numberKey",
Val: 1234
},
{
Key: "dateKey",
Val: Date("2013-09-09")
}]
}
这是简化的,实际应用程序中的道具字段中可以有各种键和值。
我的问题 - 是否可以通过“dateKey”来$ group和$ sum“numberKey”?
如果不可能,我应该使用什么结构?我需要用户添加键和值,所以我需要一些灵活的东西。
答案 0 :(得分:2)
不幸的是,使用模式聚合是不可能的。问题是聚合意味着对$ group子句选择的数组中的值进行操作,并且这些元素具有所需的所有数据。您的设置将您想要分组的内容和您想要总和的内容分开。您可以使用mapReduce作业来执行您的架构所需的操作。 http://docs.mongodb.org/manual/core/map-reduce/应该可以让你入门。
如果您有任何其他问题,请告诉我。
最佳, 查理