【问题标题】:Firebase ServerValue.increment(1) doesnt work on cloud functionsFirebase ServerValue.increment(1) 不适用于云功能
【发布时间】:2020-09-02 14:16:34
【问题描述】:

我正在尝试在 node.js 的 firebase admin sdk 上使用增量功能。
我的函数部署到云函数节点版本 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: Cannot read property 'increment' of undefined

我做错了什么?

【问题讨论】:

    标签: javascript node.js firebase firebase-realtime-database firebase-admin


    【解决方案1】:

    您声明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'); })
    };
    

    还请注意,我在对set() 的调用中添加了then,因为它是异步的并返回一个承诺。在发送响应之前,您需要使用该承诺等待写入完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-21
      • 2021-03-11
      • 2017-04-25
      • 1970-01-01
      • 2021-11-18
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多