首页 > 解决方案 > 如何删除具有“_”或“.”的字段?

问题描述

 let FieldValue = require('firebase-admin').firestore.FieldValue;
 docref.update({ 
     [`${dbuserinfo["username"]}`]: FieldValue.delete()
 });

每当dbuser["username"]有一个“_”或“。” 它没有删除。没有错误消息,它会默默地跳过这些类型的删除尝试

但是,在以下列方式创建它时,没有任何问题。

docref.set({[dbuser["username"]] : val});

PS:由于@doug-stevenson 想要一些数据证明,这里是截图 https://imgur.com/FW4uiD3 https://imgur.com/nDAgchd

标签: node.jsgoogle-cloud-firestorefirebase-admin

解决方案


根据文档,以两个下划线开头的字段__在 Firestore 中无效。此外,句点不是字段的有效字符。(句点用于引用嵌套映射字段)在尝试访问该字段之前,您应该检查这些情况的字段名称。

对于包含点的字段名称,请阅读此问题。解决方案是使用 FieldValue 构造函数来指定字段的名称。


推荐阅读