数据库写入时未触发Firebase功能

问题描述 投票:0回答:1

我有这个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来编写虚拟数据。

node.js firebase firebase-realtime-database google-cloud-functions firebase-admin
1个回答
3
投票

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

enter image description here

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

© www.soinside.com 2019 - 2024. All rights reserved.