我有一個帶有「創建」日期字段的用戶表。現在我想知道上週每天創建了多少新用戶,以及每天結束時(從時間開始)的總用戶數。MongoDB按日期和日期計算
例如:
{
{
day: 27,
new_users: 5,
total_users: 100
}, {
day: 28,
new_users: 7,
total_users: 107
}, {
day: 29,
new_users: 2,
total_users: 109
}
}
我已經通過使用簡單的分組和總結得到了NEW_USERS部分。下面的代碼是mongoid/Ruby。
results = User.collection.aggregate(
[{
"$match" => {
created: { "$gte" => 1.week.ago.beginning_of_day, "$lte" => Time.now }
}
},
{
"$group" => {
_id: {
year_joined: { "$year" => "$created" },
month_joined: { "$month" => "$created" },
day_joined: { "$dayOfMonth" => "$created" }
},
count: { "$sum" => 1 }
}
},
{
"$sort" => {"_id.year_joined" => 1, "_id.month_joined" => 1, "_id.day_joined" => 1}
}]
)
我該如何在結果中獲得total_users?
(1)你能告訴我們你試過了什麼嗎?我們不想爲您編寫所有的代碼。 (2)當你說總用戶數時,你是指自用戶開始或從上週開始以來的總用戶數? –
@DavidGrinberg自創立以來。我編輯了我的問題以包含代碼。 – hellocrowley