2017-10-30 5 views
0

MongoDBのMongoDBは、まさにそのような状況のような配列

{'id':'a'} 
{'id':'b'} 
{'id':'c'} 
{'id':'d'} 
...... 

パイソン

pool = ['a','b','c'] 
for element in pool: 
    mongodb.remove({'id':element}) 

内の各要素に一致する文書を削除します。
私はIDリストとしてリストを持っています。
そして私はmongodbからそれぞれを削除したいと思います。

1つ1つずつ行うよりも優れた方法はありますか?あなたは文書全体を削除したい場合は

答えて

1
db.collection.remove({'_id':{'$in': pool}}) 

これは、一度にすべてのレコードを削除します。

0

.remove()方法は、クエリオブジェクトを受け取り、あなたはそれで正規表現を使用できます。

db.collection.remove({ "id": /your_regex/}) 

は、正規表現に一致するすべての文書を削除します。あなたが特定のフィールドを削除したい場合は

あなたはちょうどこのよう$unset属性を使用する必要があります。

db.collection.update({}, {$unset: {"field":1}}, {multi: true}) 
関連する問題