Luc*_*bus 1 firebase typescript google-cloud-firestore
我尝试使用云函数和 firestore 将值添加到地图中。地图可能不存在,并且不存在带有密钥的条目personID。
现在我通过以下代码来完成此任务:
if (!userData!.requests){
userData["requests"] = {};
}
if (!userData!.requests.outgoing){
userData!.requests["outgoing"] = {};
}
userData!.requests.outgoing[`${personID}`] = data;
t.update(usersRef, userData!);
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来做到这一点?有没有一种方法不需要先读取数据?
如果您只有映射,则应该能够使用点表示法来写入/更新嵌套字段:
usersRef.update({
["requests.outgoing."+personID]: data
})
Run Code Online (Sandbox Code Playgroud)
如果数据路径中的任何位置都有数组,则这将不起作用。您只能添加/删除数组中的项目而不读取它们,更新任何现有数组元素需要读取-更新-写入周期。
| 归档时间: |
|
| 查看次数: |
2806 次 |
| 最近记录: |