2017-08-07 3 views
1

mongooseのfindByIdAndUpdateメソッドを使用して、オブジェクトIDのリストを渡して一度に更新しようとしています。しかし、私は "エラー:ObjectIdで$ setを使用できません"というメッセージが表示されています。私のコードと関連付けることができないエラーです。リストを渡すことで複数のドキュメントを更新するobjectidsをfindByIdAndUpdateに変更する

ここに私のコードです。

return ComponentModel.findByIdAndUpdate({ 
    _id: { 
     $in: input.subjectIds 
    }, 
    $set: { location: input.newLocation } 
}).then(res => res); 

答えて

1

findByIdAndUpdateは1つのドキュメント用です。複数のドキュメントの場合は、updatemultiフラグをtrueにすることができます。

return ComponentModel.update(
{_id: {$in: input.subjectIds}}, 
{$set: {location: input.newLocation}}, 
{"multi": true} 
).then(res => res); 
関連する問題