2017-04-13 91 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>}}})