我正在处理一个预订系统。ı使用firebase实时数据库。所以我想删除过去的数据(历史上,今天之前(。我决定为此使用firebase函数。我尝试使用if-else(我不知道是否有更简单的方法(,但我不能使用break和return命令。删除前几天的内容后,我如何才能停止此操作。
数据库结构:https://prnt.sc/AyubX0SQG3oo
exports.removePrev =
functions.pubsub.schedule("every 5 minutes").onRun((context) => {
const day = new Date();
const targetDateFormat = new Date(day).toLocaleDateString("en-US", {
year: "numeric",
month: "2-digit",
day: "2-digit"});
const resultDay = targetDateFormat.replace(/[/]/g, "-");
admin.database().ref("reservations/").once("value").then((snap)=>{
snap.forEach((days)=>{
if (days.key != resultDay) {
admin.database().ref("reservations/"+days.key).remove();
} else if (days.key==resultDay) {
//Want to break;
}
});
});
return null;
});
forEach
不支持break
,请检查此答案短路排列。每个类似呼叫中断
或者,您可以使用for of
、MDN文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of