ScriptDB Group By

时间:2012-12-10 18:53:40

标签: google-apps-script

是否可以根据存储在数据库中的记录的任何数据对结果进行分组? 我没有运气,反复使用google-apps-script文档。

我已经:

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()函数也是满满的......

感谢。

1 个答案:

答案 0 :(得分:4)

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);
}

但是内置了Count。对于count,只需将db.query({})替换为db.count({})