【问题标题】:Remove from array of objectId using update mongoDB使用更新 mongoDB 从 objectId 数组中删除
【发布时间】:2017-09-09 04:01:28
【问题描述】:

我有一个名为 courier 的模型,它有一个名为 order 的数组,orders 有一些模型 order 的 ObjectId,如何使用 update 或其他方法从 orders 数组中删除一个元素?

(例如删除具有特定 id 的订单)

这是我的模型:

快递员:

var courierSchema = new Schema({
    name: { type: String },
    orders:[{type:Schema.Types.ObjectId,ref:'order'}],
});

我试过这段代码,但失败了:

courier.update({
                   name: 'Mahan'
               }, {
                    $pull : {
                      orders: {
                          _id: order._id
                      }
                  }
                }, (err, count, obj) => {
                    if(err) {
                        console.log(err);
                        return handleError(err, reply);
                    }
                    console.log(count);
                });

有没有办法不使用查找、删除然后保存来做到这一点?

【问题讨论】:

    标签: arrays node.js mongodb mongoose objectid


    【解决方案1】:

    这将是实现您想要做的最有效的格式

    db.collection.update({<cond to identify document}, {$pull: {'orders': {'id': <id>}}} )
    

    【讨论】:

      猜你喜欢
      • 2021-04-01
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 2018-08-13
      • 2015-02-01
      • 2016-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多