javascript - Firestore 不断覆盖。如何只设置非空值?
问题描述
我正在创建我的第一个网站,我打算使用 JAMstack 和 Firestore 将其发布到现实世界。我遇到了这个问题,经过几天的研究后无法弄清楚。这一行正在覆盖数据,因为即使表单阵营仍未填充,它们也会获得被推送到数据库的空值。我怎样才能只推送非空值?
const formData = new FormData(userform);
const image = formData.get('userimage')
const description = formData.get('userdescription')
const facebook = formData.get('facebook')
const instagram = formData.get('instagram')
const twitter = formData.get('twitter')
db.collection('users').doc(firebaseUser.uid).set({description, image, facebook, instagram, twitter},{merge : true});
解决方案
弗兰克和道格是对的。问题是弗兰克的回答返回了一个数组而不是一个对象。所以我在这个问题上使用了第二个答案
Object.keys(myObj).forEach( (key) => myObj[key] == "" && delete myObj[key] );
推荐阅读
- rust - 在 Rust tokio 代码中传播恐慌的推荐方法是什么?
- python-3.x - Pyspark - 在地图函数中使用数据类 - 不能腌制 _abc_data 对象
- python - 如何在类中使用多处理管理器
- serverless-framework - 无服务器框架集成测试的舞台环境
- java - 如何更新二维数组代码中蛇和梯子的位置?
- java - 引起:io.grpc.StatusRuntimeException:内部:HTTP/2 错误代码:PROTOCOL_ERROR
- excel - MS Excel 的乘法助手 Visual Basic
- javascript - Js 类名不适用于 fetch json
- html - 尽管客户端工作 100% 正常,但在上传到主机服务器后部分网站损坏
- javascript - 从联合中删除类型或在 array.filter 中使用空联合