从 Firestore 动态删除数据

IT技术 reactjs redux google-cloud-firestore
2021-04-29 06:39:17

我正在使用 React & Redux & Firestore 构建一个项目,我知道如何删除/更新/添加等。但是当我有 2 个带有动态字段的子集合时,我找不到任何解决方案来删除它。

看图,我有表ID和用户ID,但是字段是0、1、2等等。

如何从 tableGuests 中删除字段?也许结构不好,可以更好?

来宾 > 用户 id > userTables > 表 id > tableGuests 这是一个数组。 在此处输入图片说明

1个回答

如何从 tableGuests 中删除字段?

文档中没有明确的方法来解释如何从数组中弹出一个项目。我会这样做:

  1. 获取您的表数据 const data = firestore().collection('userTables').doc(ID).get();
  2. 使用该数据获取数组的当前状态 const array = data.get('tableGuests');
  3. 使用新数组更新文档,但不包含要删除的项目(在本例中为最后一个) firestore().collection('userTables').doc(ID).update({ tableGuests: array.slice(0, array.length - 1) });