flutter - 为什么当我在 Flutter for Web 中更新实时数据库中的某个字段时我的数据被删除
问题描述
我正在尝试更新我在实时数据库中的数据,以更新 web 应用程序的颤动。但是每当我更新我的数据时,它都会删除同一张表中的所有其他字段。
ChangeNotificationStatus() async {
Map NotificationData = {
"NotificationChecked": "YES",
};
await put(
Uri.parse(
"https://officialnasproject-default-rtdb.firebaseio.com/App/Notification.json"),
body: jsonEncode(NotificationData));
}
解决方案
每当您put
向数据库中的路径发送数据时,您在请求中提供的数据都会替换该路径中的所有现有数据。
如果您只想更新一个属性,您可以选择两个选项:
您可以
put
将该单个值传递给较低级别的路径:await put( Uri.parse( "https://officialnasproject-default-rtdb.firebaseio.com/App/Notification/NotificationChecked.json"), body: jsonEncode("YES")); }
您可以使用
patch
,它仅替换您在NotificationData
地图中拥有的键,而其他键保持不变。
有关这些操作的更多信息,我建议阅读有关实时数据库的 REST API 的Firebase 文档。
推荐阅读
- azure-service-fabric - Deploying an application with Application Parameters through FabricClient
- netlify - netlify 会阻止 php 表单处理吗?
- c# - How to apply convention for method arguments solution-wide?
- mysql - Mysql报错“重复运算符操作数无效”
- python - How to make Pycharm run all python unit tests recursively from tests folder
- influxdb - 跨测量的 InfluxDB 数学
- google-api - 是否有可供 3rd 方产品使用的 Google Forms API?
- php - 正则表达式以两个元字符开头
- flutter - 点击时如何更改 ListTile 背景颜色?
- java - 转换 Java 集
到 Java 逗号分隔字符串