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