我的应用程序中有一个用户架构。用户包含一个收藏夹键,该收藏夹键包含一组对象。每个对象都有一个唯一的ID。我试图根据其ID删除这些对象之一。这是我认为应该起作用的代码:
User.updateOne({id: req.user.id}, {$pull: {favorites: {id: req.params.id}}})
我认为上面应该发生的事情是,它找到了id = req.user.id的用户,然后应该在收藏夹中将包含id = req.params.id的对象拉出。当我运行这段代码时,我没有得到任何错误,但是并没有从数组中删除对象。
我已经看到很多其他这样的问题,但是我已经尝试了所有的解决方案。我肯定错过了什么!救命!
答案 0 :(得分:0)
尝试此查询
const { ObjectId } = require('mongodb');
User.updateOne({id: ObjectId(req.user.id)}, {$pull: {favorites: {id: ObjectId(req.params.id)}}})