flutter - 如何使用 dart 在 Firestore 查询中更新值
问题描述
这是一个从 firestore 数据库返回一些数据的查询。获取文档后,我想在返回最终列表之前更新特定的键(距离距离)值
return db
.collection(Global.marketplaceRef)
.where("point.geohash", isGreaterThanOrEqualTo: range.lower)
.where("point.geohash", isLessThanOrEqualTo: range.upper)
.limit(20)
.snapshots()
.map((list) => (list.docs
.map((e) {
// Update value here before returning doc.
// This doesn't seem to do that
return (e.data().update('distance_away', (value) => 100.toString())).toList();
})
).toList()
);
我想更改每个文档的 distance_away 值。
解决方案
您需要访问参考对象而不是 .data() 尝试这样的事情
.map((list) => (list.docs
.map((e) {
return (e.reference.update({'distance_away': ['100']}
).toList()
推荐阅读
- python - Pygame 在圆内绘制曲面
- mysql - Use jdbc to connect to remote mysql via ip, but the ip becomes another ip
- python - 使用哪个 `pandas` 测试库
- algorithm - 在设计复杂的应用程序时,就地算法的意义是什么?
- gitlab - Gitlab 跑步者在完成之前开始另一项工作
- python - 无法解密 _val for key=...、无效的令牌或值
- javascript - 使用 mongodb 在 GET 请求中编写 .find 查询的最佳方法是什么?
- android - 如何检查我是否在 Android 上启用了 KPTI?
- craftcms - 如何使用 Enupal 工艺插件自定义 Stripe 付款?
- php - 如何在彼此的sql下输出两行或多行结果