我们的移动应用程序使用Firebase函数和Firebase实时数据库。 当有人下订单时,我们会发送电子邮件,这是通过Firebase DB触发器来实现的,如下所示:
exports.on_order_received = functions.database.ref("/orders/{id}")
.onCreate((change, context) => {
console.log("start of on_order_received")
...
以上触发器对我们来说运行良好。现在,我们有一些要求,其中数据库触发器不在图片中。它是一个像下面这样的HTTP请求。
exports.daily_sales_report = functions.https.onRequest((req, res) => {
//query data from firebase
问题是如何在这里访问实时数据库对象?换句话说,如何访问/orders节点?我尝试过以下方式。
exports.daily_sales_report = functions.https.onRequest((req, res) => {
//query data from firebase
var ref = functions.database.ref('orders')
ref.orderByValue().limitToLast(3).on("value", function(snapshot) {
snapshot.forEach(function(data) {
console.log("The " + data.key + " dinosaur's score is " + data.val());
});
})
但是这并不起作用。我收到了“orderByValue()不是函数”的错误。