在java中使用服务器时间更新firestore文档

在java中使用服务器时间更新firestore文档,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我正在制作一个购物车应用程序。我已经设法完成了所有的购物车和订单功能。我现在面临的一个问题是,我想限制用户每天从晚上8点到早上6点订购物品。因此,我创建了一个字段值为open/close的文档。当字段值打开时,用户可以订购项目。如果字段值已关闭,则用户无法订购该项目。我可以从管理应用程序手动更改该值。但如果手机关机或出现错误,我将无法使用管理应用程序,因此无法及时关闭订单。所以我需要一个云函数来自动更新Firestore云函数中的打开/关闭文档字段值。这样做是真的吗????我的firestore

我正在制作一个购物车应用程序。我已经设法完成了所有的购物车和订单功能。我现在面临的一个问题是,我想限制用户每天从晚上8点到早上6点订购物品。因此,我创建了一个字段值为open/close的文档。当字段值打开时,用户可以订购项目。如果字段值已关闭,则用户无法订购该项目。我可以从管理应用程序手动更改该值。但如果手机关机或出现错误,我将无法使用管理应用程序,因此无法及时关闭订单。所以我需要一个云函数来自动更新Firestore云函数中的打开/关闭文档字段值。这样做是真的吗????我的firestore文档如下图所示


我想随服务器时间自动更改该字段值。。。。任何想法。。。请……

您可以安排firebase cloud功能每X小时/分钟/秒更改一次日期


正如@Stevetro所提到的,您可以安排firebase云函数来更改状态 [open close]但实际上您需要的不是多次运行此功能 每天运行两次,一次在晚上8点,另一次在早上6点

exports.scheduledFunctionClose = functions.pubsub.schedule('0 6 * * *')
  .timeZone('America/New_York') 
  .onRun((context) => {
    let doc = firestore().collection('shopopenstatus').doc('shopstatus').get(); 
  doc.update('close')
  return null;
});



exports.scheduledFunctionOpen = functions.pubsub.schedule('0 20 * * *')
  .timeZone('America/New_York') 
  .onRun((context) => {
    let doc = firestore().collection('shopopenstatus').doc('shopstatus').get(); 
  doc.update('open')
  return null;
});
这两个预定功能将每天运行,一个打开,另一个关闭,
希望这对您有用。

我想这可能会有所帮助。我已经阅读了文档。他们说你需要有Blaze计划来使用云功能。谷歌不支持为我的国家采购。免费计划还有别的办法吗?或者以任何方式从我的国家购买Blaze Plan。我来自缅甸。我已经阅读了文件。他们说你需要有Blaze计划来使用云功能。谷歌不支持为我的国家采购。免费计划还有别的办法吗?或者以任何方式从我的国家购买Blaze Plan。我来自缅甸。还有别的办法吗?????
exports.scheduledFunctionClose = functions.pubsub.schedule('0 6 * * *')
  .timeZone('America/New_York') 
  .onRun((context) => {
    let doc = firestore().collection('shopopenstatus').doc('shopstatus').get(); 
  doc.update('close')
  return null;
});



exports.scheduledFunctionOpen = functions.pubsub.schedule('0 20 * * *')
  .timeZone('America/New_York') 
  .onRun((context) => {
    let doc = firestore().collection('shopopenstatus').doc('shopstatus').get(); 
  doc.update('open')
  return null;
});