2017-04-13 11 views
0

私はcourierというモデルを持っています。これはorderという名前の配列を持ち、ordersにはモデルのorderのObjectIdがあります。update 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>}}}) 
をやろうとしているものを達成するための最も効率的な形式になります
関連する問題