我正在尝试使用 firebase admin sdk for node.js 上的增量功能。
我的函数部署到云函数 Node 版本10
这是代码
let admin = require('firebase-admin').initializeApp({
databaseURL: "https://igibo-b0b27.firebaseio.com",
projectId: "igibo-b0b27"
});
const igDatabase = admin.database();
exports.test = (req, res) => {
igDatabase.ref('test123').set(admin.database.ServerValue.increment(1));
res.status(200).send('ok');
};
这是package.json
{
"name": "authenticate",
"version": "1.0.0",
"dependencies": {
"firebase-admin": "^9.1.1"
}
}
但是当我尝试调用该函数时,我得到TypeError:无法读取未定义的属性“增量”
我做错了什么?
最佳答案
您声明 admin
的方式不适合与 ServerValue 一起使用。改用这个:
let admin = require('firebase-admin')
admin.initializeApp({
databaseURL: "https://igibo-b0b27.firebaseio.com",
projectId: "igibo-b0b27"
});
const igDatabase = admin.database();
exports.test = (req, res) => {
igDatabase.ref('test123').set(admin.database.ServerValue.increment(1))
.then(() => { res.status(200).send('ok'); })
};
另请注意,我将 then
添加到对 set()
的调用中,因为它是异步的并返回一个 promise 。您需要使用该 promise 来等待写入完成,然后再发送响应。
关于javascript - Firebase ServerValue.increment(1) 不适用于云函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63707513/