2016-06-21 4 views
0

私のスキーマは配列プロパティを持っています。各文書の配列プロパティを変更したい。たとえば、配列からいくつかの要素を削除します。このような機能を実現するための最良の方法は何ですか?すべてのドキュメントを更新します

例: ユーザースキーマには、ブック名の配列プロパティがあります。ある時点で、各ユーザーから特定の書籍名を削除したいと考えています。私は私の各ユーザーのための機能なしで達成したい。

user.books = _.without(user.books, "SomeBookName1", "SomeBookName2", "SomeBookName3") //Underscore style:) 
+0

私は同様の質問への答えを見つけました: [リンク](http://stackoverflow.com/questions/26689132/update-multiple-documents-by-providing-documents-in-body-mongoose-mongodb) しかし、それらはプロパティ値をハードコーディングします。私の状況では、このプロパティは異なります。 –

+0

可能であれば原子更新配列演算子を使用してください:https://docs.mongodb.com/manual/reference/operator/update/#array。しかしあなたの質問は広すぎます。それを編集して特定のアップデートを表示できますか? – JohnnyHK

+0

@JohnnyHK私は質問を更新しました) –

答えて

2

ありがとうございました@JohnnyHK。マニュアルの$pull機能は私を助けました。

また、いくつかのアイテムを削除する場合は、$pullAllがあります。

$pullAll: {books: ["someBookName1", "someBookName2"]} 
関連する問題