提问者:小点点

Firestore删除除一个字段以外的所有字段


是否可以删除Firestore文档中的所有字段,除了单个数据库写入中的一个字段(无需pior读取)

我知道我有一份文件,里面有一些礼仪,但我不是全部都知道。 我想删除所有这些属性,除了一个我知道的属性。

我知道的是keep

            {
                keep: 'keep',
                remove1: 'remove',
                remove2: 'remove',
                remove3: 'remove',
            }

交易结束后的单据应为:

            {
                keep: 'keep',
            }

我可以在每个键t上使用firebase.firestore.fieldvalue.delete()


共1个答案

匿名用户

如果您知道要保留的字段的名称和值,则可以使用只包含您知道的属性的对象覆盖文档:

const keepValue = ...;
db.collection('mycollection').doc('mydoc').
set(
  { keep: keepValue }
);

由于我们使用的set()方法没有合并选项,文档中的所有字段都将被传递给set()方法的对象覆盖。

如果您不知道要保留的字段的值(或名称),则需要阅读文档,以便找到该值或名称。