首页 > 解决方案 > 在 Mongo - 如何从具有特定 id 的嵌套数组中删除

问题描述

这是我的 mongo 收藏

const cl = [{
  id: '601ad0d7afe0642f781f7794',
  history: [{
    _id: '601ad0d7afe0642f781f7795'
  }, {
    _id: '601ad0d7afe0642f781f7796'
  }]
}];

我想删除历史记录中 id: '601ad0d7afe0642f781f7795' 的项目

此方法不会删除该项目。

cl.updateOne(
  { 'history._id': '601ad0d7afe0642f781f7795' },
  {
    $pull: {
      history: {
        _id: '601ad0d7afe0642f781f7795'
      }
    }
  }
);

也尝试过,但也没有删除该项目。

cl.updateOne(
  { 'history._id': '601ad0d7afe0642f781f7795' },
  {
    $pull: {
      history: {
        _id: {
          '$in': ['601ad0d7afe0642f781f7795']
        }
      }
    }
  }
);

谁能告诉我我错过了什么?

标签: mongodbmongoose

解决方案


推荐阅读