我正在制作应用程序,并在特定日期使用云端功能删除Firebase数据库。如何使用firebase云端功能删除特定日期的firebase数据库
这是我如何存储数据,我想删除nextDonationDate这个节点,我搜索了一番,发现这可以用云计算功能来完成,但我不知道该怎么办和访问这是因为日期保存在用户的UserID下面所以面临的问题,以及如何解决我的问题执行nextDonationDate?谢谢:)
我正在制作应用程序,并在特定日期使用云端功能删除Firebase数据库。如何使用firebase云端功能删除特定日期的firebase数据库
这是我如何存储数据,我想删除nextDonationDate这个节点,我搜索了一番,发现这可以用云计算功能来完成,但我不知道该怎么办和访问这是因为日期保存在用户的UserID下面所以面临的问题,以及如何解决我的问题执行nextDonationDate?谢谢:)
可能是云功能的代码将是这样的:
exports.deleteByDate = functions.https.onRequest((req, res) => {
//url example
// deletebydate?date=Oct 28, 2017
var targetDate = req.query.date;
var db = admin.database();
var donorDbRef = db.ref('Blood_donors_last_donation_date');
var updateVal = {};
donorDbRef
.orderByChild('nextDonationDate')
.equalTo(targetDate)
.once('value')
.then(snapshot => {
snapshot.forEach(childSnapshot => {
updateVal[childSnapshot.key] = null
});
donorDbRef.update(updateVal, (error)=>{
if(!error)
res.status(200).send('succeed deleting data!');
else
res.status(200).send('failed deleting data!');
});
});
});
Firebase在Youtube上有一个教程,他们演示了如何为云功能触发器安排Cron作业。
https://www.youtube.com/watch?v=CbE2PzvAMxA
你可以有这样的克龙定期将执行HTTP调用你的函数运行。在这里,您可以遍历所有节点并根据您的逻辑检查nextDonationDate,并删除符合条件的节点。
您可以根据您的要求进行优化,这是一个粗略的方法,因为我不完全知道您需要做些什么以及为什么需要做某些事情。
感谢@Kushan回答我的问题....其实我显示在列表中最后一次捐赠日期(如果可用)上DB ....如果数据库上没有可用的UserId子引用数据,而不显示Available其他显示其最后捐赠日期的数据。 –