Skip to content

Instantly share code, notes, and snippets.

@mimosz
Created January 12, 2012 07:06
Show Gist options
  • Save mimosz/1599150 to your computer and use it in GitHub Desktop.
Save mimosz/1599150 to your computer and use it in GitHub Desktop.
临时
weekly = 4.weeks.ago.beginning_of_day..4.weeks.ago.end_of_day # 时间段
conditions = Order.where(created_at:weekly).selector # 查询条件
reduce = <<javascript
function(doc, prev) {
if(doc.paid_at == '') {
prev.quantity += doc.quantity;
prev.payment += doc.payment;
}
if(prev.skus[doc.sku_id] == undefined) {
prev.skus[doc.sku_id] = {quantity: 0, payment:0};
}
prev.skus[doc.sku_id]['quantity'] += doc.quantity;
prev.skus[doc.sku_id]['payment'] += doc.payment;
if(prev.statuses[doc.status] == undefined) {
prev.statuses[doc.status] = {quantity: 0, payment:0};
}
prev.statuses[doc.status]['quantity'] += doc.quantity;
prev.statuses[doc.status]['payment'] += doc.payment;
}
javascript
orders = Order.collection.group({
cond: conditions,
key: ['product.name'],
initial: {quantity: 0, payment:0, statuses:{}},
reduce: reduce.delete("\n"),
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment