gpt4 book ai didi

java - 如何从服务器端更新firestore中所有用户的剩余天数?

转载 作者:行者123 更新时间:2023-12-02 09:05:21 27 4
gpt4 key购买 nike

我只是想知道如何从服务器端更新firestore中所有用户的所有剩余天数。是否需要使用firebase CLI和node.js。

最佳答案

要运行定期更新(每天),我建议使用 Firebase 函数来查询集合并根据您的需要更新数据。您可以创建一个可以通过 URL 触发的 http 函数(您可以安排一个 CRON 作业来触发它)或具有自己的调度机制的 pubsub 函数(它需要付费的 Firebase 计划)。

发布订阅示例:

export scheduledFunctionCrontab =
functions.pubsub.schedule('5 11 * * *').onRun((context) => {
console.log('This will be run every day at 11:05 AM UTC!');
//query and update database collection

});

HTTP 示例:

exports.functionName = functions.https.onRequest((req, res) => {
//query and update database collection
});

用于在 Node.js 中更新 Firestore 的 JavaScript 如下所示:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var db = admin.firestore();

async function getDocuments() {
let docRef = db.collection('<collectionName>');
const result = await docRef.where(admin.firestore.FieldPath.documentId(), '>=', 'condition')
.get();
return result.docs;
}

exports.updateData = functions.pubsub.schedule('every 1 days').onRun(async context => {
const documents = await getDocuments();
for(i = 0; i < documents.length; i++) {
documents[i].update({
timestamp: firebase.firestore.FieldValue.serverTimestamp()
});
}
});

关于java - 如何从服务器端更新firestore中所有用户的剩余天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59853827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com