我有以下格式的记录:
"_id" : "2013-05-23",
"authors_who_sold_books" : [
{
"id" : "Charles Dickens",
"num_sold" : 1,
"customers" : [
{
"time_bought" : 1368627290,
"customer_id" : 9715923
}
]
},
{
"id" : "JRR Tolkien",
"num_sold" : 2,
"customers" : [
{
"date_bought" : 1368540890,
"customer_id" : 9872345
},
{
"date_bought" : 1368537290,
"customer_id" : 9163893
}
]
}
]
}
每个日期都有一条记录,其中许多将包含同一作者。我正在查询返回以下内容:
{
"_id" : "Charles Dickens",
"num_sold" : 235,
"customers" : [
{
"date_bought" : 1368627290,
"customer_id" : 9715923
},
{
"date_bought" : 1368622358,
"customer_id" : 9876234
},
etc...
]
}
我已经尝试了聚合、组、展开和项目的各种组合,但仍然无法达到目标,非常感谢任何建议。
对于额外的点,我实际上是使用 Ruby gem 来做这件事的,所以特定于此的代码会很棒。但是,我可以转换普通的 MongoDB 查询语言。