在不部署云功能的情况下修改firestore数据的最简单方法



有没有办法在不部署云功能的情况下修改firestore上的文档?我的项目正在进行中,有时,我只想修改所有玩家的分数或其他什么,但我需要部署一个测试云功能来完成这项工作。正常的做法是什么?我已经检查了Firestore CLI,但它只支持删除文档,而不支持更新、添加等。

非常感谢

您可以在本地设备上运行FirebaseadminSDK。以下是一些操作说明。我总是使用它来同步或更新大量数据。

您可以在本地模拟这些函数。我通常会为这种重复的操作创建单独的JS文件。例如:

const admin = require("firebase-admin");
const credential = require("./serviceAccountKey.json")
admin.initializeApp({
credential,
databaseURL: "https://<projectID>.firebaseio.com/"
})
const db = admin.firestore()
return db.collection("players").get().then((playersSnapshot) => {
const docIDs = playersSnapshot.docs.map(doc => doc.id)
const updates = docIDs.map(docId => db.collection("players").doc(docId).update({...}))
return Promise.all(updates).then(() => console.log(`${docIDs.length} docs updated!`))
})

然后只需通过node filename.js运行脚本,就可以完成更新了!所以现在您只需要运行一个命令就可以再次执行该操作。

最新更新