使用Mongoose无法从对象数组中删除元素。

4

我正试图从MongoDB的对象数组中删除一个元素。

请查看下面的模式结构。

enter image description here

我只想通过statusideaIDinvitedBy删除一个对象。 请查找我用于此目的的查询,

    await User.findByIdAndUpdate(
    currentUser,
    { $pull: { "invitationStatus.ideaId": this.req.body.ideaId, "invitationStatus.status": "pending", "invitationStatus.invitedBy": getUserByNotificationId.createdBy._id } })

但是这个查询并没有移除指定的对象。

1个回答

2

您需要指定要从哪个字段获取项目。请将查询更改为以下内容:

await User.findByIdAndUpdate(currentUser, { 
  $pull: { 
    invitationStatus: {
      ideaId: this.req.body.ideaId,
      status: "pending", 
      invitedBy: getUserByNotificationId.createdBy._id 
    }
  } 
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接