脚本数据库分组依据



是否可以按存储在数据库中的记录的任何数据对结果进行分组?我已经阅读了谷歌应用程序脚本文档,但没有运气。

我有:

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({})

最新更新