删除firebase云firestore中的许多关系

时间:2017-10-12 15:27:45

标签: firebase cloud google-cloud-firestore

我执行以下批次:

batch.set(doc, {
   "Users": {
      [userKey]: null
   }
}, { merge: true })

它为关系设置空值但不删除它。

我需要像在实时数据库中那样删除对象的字段和值,而不是保留空值。

如果我使用firebase.firestore.FieldValue.delete()只适用于该对象而不适用于其字段。

1 个答案:

答案 0 :(得分:1)

无论好坏,Firestore将null值视为与不存在的字段不同,因此将值设置为null不会做您想要的。

FieldValue.delete()删除字段的方式,而不是文档,因此应该删除字段:

batch.set(doc, {
  "Users": {
    [userKey]: firebase.firestore.FieldValue.delete()
  }
}, { merge: true });

但是,目前发布的SDK中存在一个错误,导致无法按预期工作。现在使用

batch.update(
    'Users.userKey',
    firebase.firestore.FieldValue.delete());
相关问题