Javaでコレクション内のすべてのドキュメントを削除したい。これが私のコードです:
MongoClient client = new MongoClient("10.0.2.113" , 27017);
MongoDatabase db = client.getDatabase("maindb");
db.getCollection("mainCollection").deleteMany(new Document());
これはこれを行う正しい方法ですか?
MongoDB 3.0.2を使用しています
すべてのドキュメントを削除するには、次のようにBasicDBObjectまたはDBCursorを使用します。
MongoClient client = new MongoClient("10.0.2.113" , 27017);
MongoDatabase db = client.getDatabase("maindb");
MongoCollection collection = db.getCollection("mainCollection")
BasicDBObject document = new BasicDBObject();
// Delete All documents from collection Using blank BasicDBObject
collection.deleteMany(document);
// Delete All documents from collection using DBCursor
DBCursor cursor = collection.find();
while (cursor.hasNext()) {
collection.remove(cursor.next());
}
API> = 3.0の使用:
MongoClient mongoClient = new MongoClient("127.0.0.1" , 27017);
MongoDatabase db = mongoClient.getDatabase("maindb");
db.getCollection("mainCollection").deleteMany(new Document());
コレクション(ドキュメントおよびインデックス)を削除するには、次のように使用できます。
db.getCollection("mainCollection").drop();
参照 https://docs.mongodb.org/getting-started/Java/remove/#remove-all-documents
コレクション内のすべてのドキュメントを削除する場合は、以下のコードを使用します。
db.getCollection("mainCollection").remove(new BasicDBObject());
または、コレクション全体を削除したい場合は、これを使用します:
db.getCollection("mainCollection").drop();
新しいmongodbドライバーの場合は、コレクション内のすべてのドキュメントを削除するために هterable を使用できます。
FindIterable<Document> findIterable = collection.find();
for (Document document : findIterable) {
collection.deleteMany(document);
}