2017-04-13 88 views
0

我有一个名为courier的模型,它有一个名为order的数组,并且orders有一些模型顺序的ObjectIds,我如何使用update或其他东西从orders数组中删除元素?使用更新mongoDB从objectId中移除

(例如去除特定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); 
       }); 

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

回答

1

这将是最有效的格式,以实现你试图做

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