【问题标题】:Firebase App Script getData() optQueryParameters with integer errorFirebase App Script getData() optQueryParameters 整数错误
【发布时间】:2016-11-10 08:51:02
【问题描述】:

所以我正在寻找使用 Google 电子表格来显示来自 Firebase 的一些数据。

数据有时会太大,Google 表格无法处理。

我只是想将数据限制为最后 10 条记录。

我想通过key 订购,然后获取最后 10 条记录。

var records = base.getData("path/Foo", {"limitToLast": 10 , "orderBy":"key"});

问题是文档显示支持optQueryParameters,但没有显示如何使用它们。以上是我得到的最接近的。仍然不起作用和错误

编辑:

所以我一直坚持下去,我想我得到了排序,但没有限制到最后

var records = base.getData("path/Foo", { ".indexOn": "Key", ".limitToLast":"2"});

有没有人在应用脚本上完成了 limitToLast 工作?

编辑2:

这是我用过的最新版本:

var records = database.getData("40274400", {"limitToLast": 1 , "orderBy":"$key"});

我怎么无法让 limitToLast 工作。它发送错误: 错误 limitToLast 必须是整数(第 135 行)。

是的,我知道这是一个非常奇怪的整数。

【问题讨论】:

  • 试试 "$key" vs key。
  • 试过了,但没用,真正的问题是limitToLast

标签: javascript firebase google-apps-script google-sheets firebase-realtime-database


【解决方案1】:

指定order-by-key的语法是$key:

var records = database.getData("40274400", {"limitToLast": 1 , "orderBy":"$key"});
for (var key in records) {
  Logger.log(key+"="+records[key]);
}

这会记录40274400 下最后一个孩子的值。

更新

如果你得到:

limitToLast 必须是整数

您使用的是 FirebaseApp 库的 12 版或更早版本。请务必升级到version 13 或更高版本。

【讨论】:

  • 非常感谢您的帮助。我试过了,得到了下面的错误。我复制了您的示例,并确定它是 int 而不是字符串。 “limitToLast 必须是整数(第 135 行)。”
  • 我共享的 sn-p 是从文档中复制/粘贴的,它运行时没有错误。您确定没有其他导致该错误的代码吗?
  • 积极...如果我摆脱限制它工作正常
  • 您似乎使用的是旧版本的 FirebaseApp 库。请务必使用版本 13 或更高版本。
  • 你一针见血,我使用的是旧版本的库。最后所有数据都是正确的。你摇滚:)
猜你喜欢
  • 2019-03-29
  • 2020-07-31
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 2014-05-13
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多