2013-11-20 12 views
6

mongooseに複数のドキュメントをid setで更新する方法があるのだろうかと思います。例えば:私は、もしマングースはこのような何かを行うことができますことを、知ってほしい何複数のドキュメントをIDセットで更新します。 Mongoose

for (var i = 0, l = ids.length; i < l; i++) { 
    Element.update({'_id': ids[i]}, {'visibility': visibility} ,function(err, records){ 
     if (err) { 
      return false; 
     } else { 
      return true; 
     }; 
    }); 
}; 

:IDは[「ID1」、「ID2」のようなIDの配列、ある

Element.update({'_id': ids}, {'visibility': visibility}, {multi: true} ,function(err, records){ 
    if (err) { 
     return false; 
    } 
}); 

、 'id3'] - 配列のサンプル。 findに同じ質問があります。

答えて

14

おそらくはい。また、更新のためにmongodbクエリで$in演算子を使用して呼び出されます。

db.Element.update(
    { _id: { $in: ['id1', 'id2', 'id3'] } }, 
    { $set: { visibility : yourvisibility } } 
) 

あなたが必要とするのは、$ in in mongooseを実装する方法です。

+0

はい、そうですが、$ in演算子はマングースにも最適です。 – user2960708

+0

複数の更新を使用できますが、保存コマンドを使用できますか?保存すると妥当性確認があるので – Barno

+6

異なる_id値に対して可視性プロパティを別々に更新することは可能ですか? – Vinay

関連する問題