是否可以按存储在数据库中的记录的任何数据对结果进行分组?我已经阅读了谷歌应用程序脚本文档,但没有运气。
我有:
userLogActivity = {
registry_type: "userLog",
user_email: activeUser.getEmail(),
user_loginId: activeUser.getUserLoginId(),
user_urlAccess: activePage.getUrl(),
user_date: currentDate.getTime()
};
我像这样检索这些记录:
var db = ScriptDb.getMyDb();
var results = db.query({}).sortBy("user_date", db.DESCENDING);
但现在我需要按user_date分组。
一个count()函数也会很麻烦...
谢谢。
ScriptDb 没有原生 groupBy,但你可以很容易地模仿它:
var results = db.query({}).sortBy("user_date", db.DESCENDING);
var grouped = {};
while (result.hasNext()) {
var obj = result.next();
var key = obj.user_date;
grouped[key] = grouped[key] || [];
grouped[key].push(obj);
}
但是,计数是内置的。对于计数,只需将db.query({})
替换为db.count({})