MongoDB:MongoDBシェルでコレクションのすべてのレコードを削除する方法は?


84

私はもう試した

db.users.remove(*)

エラーが返されますが、すべてのレコードをクリアするにはどうすればよいですか?


db.getCollection( 'collectionname')。remove({})
firstpostcommenter19年

回答:


163

の引数remove()はフィルタードキュメントであるため、空のドキュメントを渡すことは「すべて削除」を意味します。

db.user.remove({})

ただし、確実にすべてを削除したい場合は、コレクションを削除したほうがよい場合があります。それはおそらく、コレクションにユーザー定義のインデックスがあるかどうか、つまり、コレクションを削除した後にコレクションを準備するコストが、remove()呼び出しよりも長い呼び出し時間よりも重要かどうかによって異なりdrop()ます。

詳細については、ドキュメントをご覧ください。


remove現在は非推奨です。db.user.deleteMany({})代わりに使用
Mahdieh Shavandi

@MahdiehShavandiがMongoシェルのドキュメントを見ると、remove廃止されたと言っているものは何も表示されません(docs.mongodb.com/manual/reference/method/db.collection.remove)。その主張を裏付けるリンクや引用を提供できますか?
10:09にグリッチング

申し訳ありませんが、私はもっと言いたいです:それは将来のバージョンで非推奨になるでしょう。この主張をターミナルに記録するだけです。
Mahdieh Shavandi

31

MongoDBのコレクションからすべてのドキュメントを削除できます。次を使用できます。

db.users.remove({})

または、次の方法を使用することもできます。

db.users.deleteMany({})

詳細については、次のMongoDBドキュメントに従ってください。

コレクションからすべてのドキュメントを削除するには、空のフィルタードキュメント{}db.collection.deleteMany()またはdb.collection.remove()メソッドに渡します。



3

すべてのコレクションのすべてのドキュメントを削除するには:

db.getCollectionNames().forEach( function(collection_name) { 
    if (collection_name.indexOf("system.") == -1) {
        print ( ["Removing: ", db[collection_name].count({}), " documents from ", collection_name].join('') );
        db[collection_name].remove({}); 
    }
});

2

cmdのコレクションからすべてのドキュメントを削除します。

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.