javascript - 如何更新firebase cloud firestore中对象内的值?
问题描述
我有这个图像中的数据结构。我需要将布尔值从 true 更新为 false。
这是我执行更新的功能,但它不起作用......
worldIndex 和 levelIndex 一个数字。
export const setLevelPassed = (worldIndex, levelIndex) => new Promise(async (resolve, reject) => {
try {
await firestore()
.collection(auth().currentUser.uid)
.doc('gameDetails')
.update(gameData[worldIndex].questions[levelIndex].isLocked = false);
resolve();
} catch (e) {
reject(e);
console.log('setLevelPassed', e);
}
});
我也尝试过这种方式,但它不起作用:
export const setLevelPassed = (worldIndex, levelIndex) => new Promise(async (resolve, reject) => {
try {
await firestore()
.collection(auth().currentUser.uid)
.doc('gameDetails')
.update(`gameData[${worldIndex}].questions[${levelIndex}].isLocked`, false);
resolve();
} catch (e) {
reject(e);
console.log('setLevelPassed', e);
}
});
解决方案
要更新 firebase cloud firestore 中的字段,您必须编写
.update({ 字段:值,字段:值,... })
export const setLevelPassed = (worldIndex, levelIndex) => new Promise(async (resolve, reject) => {
try {
await firestore()
.collection(auth().currentUser.uid)
.doc('gameDetails')
.update({gameData[worldIndex].questions[levelIndex].isLocked: false});
resolve();
} catch (e) {
reject(e);
console.log('setLevelPassed', e);
}
});
推荐阅读
- django - 如何在 Django 视图中调用 API
- python - 如何将经纬度坐标字符串分成两列?
- r - 按另一列重新排序因子
- python - IMAP 中的换行符 - =\r\n - 如何解码?
- c# - 如何从已取消的线程中释放内存和 CPU 使用率?
- python - 在 Python 中生成所有可能的(公共互联网)IPV4 地址组合
- apache-spark - ibis ImpalaTable 到 pyspark 数据框
- javascript - React JS - 如何通过配置使用相同的代码构建不同风格的 Web 应用程序
- r - 如果单元格值在 R 中相等,则按行粘贴项目
- dataframe - 如何从文本文件中删除特定分隔符并在 pyspark 中加载为数据框