【发布时间】:2020-02-27 07:08:02
【问题描述】:
我的应用中有一个用户架构。用户包含一个包含对象数组的收藏夹键。这些对象中的每一个都有一个唯一的 ID。我正在尝试根据它的 id 删除其中一个对象。这是我认为应该可以工作的代码:
User.updateOne({id: req.user.id}, {$pull: {favorites: {id: req.params.id}}})
我认为上面应该发生的是它找到了 id = req.user.id 的用户,然后它应该在包含 id = req.params.id 的收藏夹中拉取对象。当我运行这段代码时,我没有收到任何错误,但它不会从数组中删除对象。
我见过很多其他类似这样的问题,但我已经尝试了他们所有的解决方案。我肯定错过了什么!救命!
【问题讨论】:
-
Mongoose "sometimes" 将
id与_id别名,但这并不一致。我建议您在真正的意思时使用_id,而且不要创建自己的id字段,因为猫鼬会“一般”尝试将其用作别名。
标签: javascript mongodb express mongoose-schema