如何使用预定功能更改 firestore 文档中的 bool?

How to change a bool in firestore document with scheduled functions?

如何每天使用计划函数更改 firestore 中的变量一次?我需要切换文档字段中包含的布尔值。

Firebase 云函数支持带有解释性文本的 Cron 作业。 查看他们的文档,您可以看到您感兴趣的 base example。使用此示例,我已根据您的需要对其进行了修改,您只需更新文档路径和字段路径即可。如果您需要查询以查找所有布尔值,这将是一个资源密集型过程,但会遵循相同的结构。

// Cloud functions is required to trigger pubsub behavior
const functions = require('firebase-functions');

// The Firebase Admin SDK to access Firestore.
const admin = require('firebase-admin');

// Initialize the admin sdk so we have a client to work with
admin.initializeApp();
exports.scheduledFunction = functions.pubsub.schedule('every 24 hours').onRun((context) => {

  // Create reference to document
  const DocumentReference = admin.firestore().doc("path/toDocument");

  // Read document value to get boolean
  DocumentReference.get();
    .then(snapshot =>

    // Store boolean value
    const BooleanValue = snapshot.data().FieldwithBoolean;

    // Update the document reference with the boolean inverted
    DocumentReference.update({FieldWithBoolean: (!BooleanValue) });
    return;
  })
  .catch(err => console.warn(err));
  return null;
})

您可以使用以下任何一项指定时间触发器,请注意这是基于源服务器的本地时间

  • 每 24 小时
  • 每周一 09:00