【问题标题】:How to delete particular object from array using mongoose express and angular如何使用猫鼬快递和角度从数组中删除特定对象
【发布时间】:2020-10-19 09:24:00
【问题描述】:

我正在使用 mongoose express nodjs 和 angular 来开发我的项目。 我将用户请求存储到特定的用户帐户中。我不知道如何从数组中删除特定对象。

这是我存储在数据库数组中的数据

_v
:1
requests
:
Array

    0
    :
    Object
        _id
        :ObjectId(5ece0bb3fdba2015bca0a052)
        bloodgroup
        :"A+"
        city
        :"g"
    1
    :
    Object
        _id
        :ObjectId(5ece0b6bfdba2015bca0a051)
        bloodgroup
        :"A+"
        city
        :"jj"
    2
    :
    Object
        _id
        :ObjectId(5ece0b6bfdba2015bca0a051)
        bloodgroup
        :"A+"
        city
        :"j
这是我删除的方法

router.post('/delete', verifyToken, (req, res) => {
    let userData = req.body;
    const userId = req.userId;
    User.findByIdAndUpdate({_id: userId},{$pull: {requests: {_id: userData._id}}}, {multi:true} ,(error,user) => {
        if (error) {
            console.log(error)
       } else 
           if (!user) {
               res.status(401).send('user Does not exists')
           } else { 
             user.save()
              res.status(200).send(user)
           }
    })
})

这是我的comonent.ts

 onReject(event: Event) {
    const target = event.target as HTMLInputElement ;
    const val =  target.value ;
    const user_id = val;
    console.log(user_id);
   this.auth.deleteRequests(user_id)
    .subscribe(
       res=>{
         
       console.log(res)       },
      err => console.log(err)
     )
  }

请帮我解决这个问题。提前致谢

【问题讨论】:

    标签: angular express mongoose


    【解决方案1】:

    将代码中的 {$pull: {requests: {_id: userData._id}}} 部分更改为:

    {$pull: {requests: userData._id}} 它会起作用的。

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多