Mongodb の配列フィールド (すべてのドキュメントにわたって) からすべての要素を削除する適切な方法を探しています。
db.collection.update({}, { $pull : { 'myArray': {} }}, {multi:true} )
また
db.collection.update({}, { $set : {'myArray': [] }} , {multi:true} )
Mongodb の配列フィールド (すべてのドキュメントにわたって) からすべての要素を削除する適切な方法を探しています。
db.collection.update({}, { $pull : { 'myArray': {} }}, {multi:true} )
また
db.collection.update({}, { $set : {'myArray': [] }} , {multi:true} )
$set
バリアントは、配列で計算を行う必要があるため、高速になります$pull
。クエリで要素を実際に削除していないため、実際に機能するかどうかさえわかりません。
Mongodbの公式文書によると:
配列要素を一致させるために $ と共に使用すると、$unset は一致する要素を配列から削除するのではなく、一致する要素を null に置き換えます。この動作により、配列のサイズと要素の位置の一貫性が保たれます。
$set は適切な方法である必要があります。