Firebase firestore 从字段数组中删除项目

Posted

技术标签:

【中文标题】Firebase firestore 从字段数组中删除项目【英文标题】:Firebase firestore remove item from array of field 【发布时间】:2021-04-03 09:22:01 【问题描述】:

我正在使用Firebase Firestore 制作我的网站

如您所见,我有一个字段commentList,它的类型是array,现在我想删除数组的第一项 这就是我所做的:

exports.delete__comment = (req, res, next) => 
  const id = req.params;
  const comment = req.body;

  return db
    .collection('instagram__posts')
    .doc(id)
    .update(
      commentList: FieldValue.arrayRemove(JSON.stringify(comment)),
    )
    .then((doc) => 
      console.log('comment deleted', comment);
      next();
    )
    .catch((err) => 
      res.status(500).json(err);
      console.log(err);
    );
;

如果该项目被删除,我会console.log('comment deleted', comment); 并且它有效

但可悲的是,它并没有从我的数据库中删除,它仍然存在。请告诉我如何解决它,非常感谢,圣诞快乐

【问题讨论】:

试试这个:***.com/questions/46984308/… em muốn xóa cả item luôn anh ạ chứ không chỉ xóa mỗi field,em ghi rõ ra vậy cho dễ phân biệt thôi。 Em xin cảmơn anh 你的`req.body;`是什么样子的? 在这里使用JSON.stringify() 没有意义。您的数组项是对象,而不是字符串,因此您应该传递一个与要删除的对象完全匹配的对象。 【参考方案1】:

我不确定您为什么使用 JSON.stringifycomment 对象转换为字符串。

尝试使用comment 而不是JSON.stringify(comment)

【讨论】:

以上是关于Firebase firestore 从字段数组中删除项目的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio Firebase Firestore 无法检索字段数据

firebase 按索引从字段数组中删除对象

Firebase Firestore从数组Javascript查询

如何从Swift中的Cloud FireStore Firebase访问特定字段

Firebase Firestore:从文档数组中追加/删除项目

无法从 Firestore 文档中删除字段 (Flutter)