Flutter SDK操作Firestore:如何仅在变量非空时添加字段?
解决方案
你可以先构建基础的文档数据对象,再通过条件判断决定是否添加comment字段,这样就能避免在comment为null时写入该字段:
String? comment; // 先构建基础数据 Map<String, dynamic> cityData = { 'name': 'Boston', }; // 仅当comment不为null时添加字段 if (comment != null) { cityData['comment'] = comment; } // 调用add方法创建文档 dbRef.collection('cities').add(cityData);
补充说明
Firebase的add方法是创建全新文档,不存在“合并”或“删除字段”的操作场景——毕竟文档本身还不存在。所以最直接有效的方式就是在构建数据对象阶段,只保留非null的字段。这种做法既能节省数据库存储空间,也能让文档结构更简洁,避免冗余的null字段占位。
内容的提问来源于stack exchange,提问作者user11015833
相关产品推荐
相关产品推荐

