所以我编写了一个计划的云函数,它应该每分钟运行一次,并更新Firestore数据库中的某些值。我在这个函数上取得了成功,我没有看到任何错误,但是数据库没有更新。我的项目是用flutter做的,但是我用node.js编写了云函数
enter image description here
这是我的云函数代码。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.myScheduledCloudFunction = functions.pubsub.schedule('* * * * *').timeZone('Asia/Kuala_Lumpur').onRun(async (context) => {
admin.firestore().collection('users').get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
admin.firestore().collection('users').doc(doc.id).collection('habits').get().then(function(querySnapshot) {
querySnapshot.forEach(function(habitDoc) {
admin.firestore().collection('users').doc(doc.uid).collection('habits').doc(habitDoc.id).ref.update({
'iscompleted' : false,
'completedcount': 0
})
})
})
})
})
return null;
});
我觉得可能和规则有关,但我不确定,因为我的规则现在是默认的,我没有修改,希望有人能帮忙
1条答案
按热度按时间qni6mghb1#
多亏了@Doug史蒂文森,我才知道我没有给异步函数任何时间,我已经修正了我的工作,现在它正在工作。
下面是固定的代码: