【问题标题】:Firebase functions not triggered on Database write数据库写入时未触发 Firebase 函数
【发布时间】:2019-12-06 15:45:03
【问题描述】:

我有这个 Firebase 功能,该功能已正确部署以在 Firebase 上进行测试:

exports.testDataPoint = functions.database.ref('/testDataPoint/{uid}/{id}/')
    .onCreate(event => {
        if (event.data.exists()) {
            return admin.database().ref("/test/"+event.params.uid+"/accumulate")
            .transaction(current => {
                return (current || 0) + event.data.val();
            })
        }
        else{
            return Promise.resolve(true)
        }
    });

当我尝试一次写入 10000 个条目的数据时,根本不会触发该功能。但是如果条目数在 1000 左右,函数就会完美触发。 这是我用来写入数据的脚本:

function testGroupWrites() {
    let users = {};
    for (let i = 0; i < 1000; i++) {
        let id = shortId.generate();
        let jobs = {};
        for (let j = 0; j < 10; j++) {
            let uid = shortId.generate();
            console.log(uid);
            jobs[uid] = 1;
        }
        users[id] = jobs;
    }
    db.ref("testDataPoint")
        .set(users)
        .then(() => {
            console.log("written");
        })
}

对于不会触发函数的某个点可以写入多少数据有任何限制吗?我正在测试这个场景,因为在我的项目中,firebase 函数将做同样的事情来计算值。 我在我的脚本中使用 Admin SDK 来编写虚拟数据。

【问题讨论】:

  • 请指定您在标签中使用的语言

标签: javascript node.js firebase firebase-realtime-database google-cloud-functions


【解决方案1】:

是的,有限制,请检查以下内容:

所以最多是 1000 个条目,更多信息在这里: https://firebase.google.com/docs/database/usage/limits

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-12
    • 2018-08-06
    • 2019-12-20
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多