プロパティの値に基づいてリストからオブジェクトを削除する最も簡単な方法は何ですか?
MongoDBで$ pullに相当するものを探しています。
私のリストは次のように簡単に見えます:
[{a: '1' , b: '1'},{a: '2' , b: '2'}]
そして、配列aが '1'に設定されたオブジェクトを配列から削除したいと思います。 MongoDBでは、次のようにします。
Model.update({_id: getCorrectParentObj},{ $pull: {listIDeleteFrom: { a: '1' } } },(err, result)=>{});
ImmutableJSで同じ結果を得るにはどうすればよいですか?
単純に filter
不変リスト:
var test = Immutable.List.of(Immutable.Map({a: '1'}), Immutable.Map({a: '2'}));
test = test.filter(function(item) { return item.get('a') !== '1' });
ただし、空でないfilter
に対してList
を実行すると、異なる不変リストが生成されるため、最初に{a: 1}
の発生を確認することをお勧めします。
if (test.some(function(item) { return item.get('a') === '1'; })) {
test = test.filter(function(item) { return item.get('a') !== '1' });
}