Как удалить все документы в коллекции mongodb на java
Я хочу удалить все документы в коллекции на 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
3 ответов
чтобы удалить все документы, используйте BasicDBObject или DBCursor следующим образом:
MongoClient client = new MongoClient("10.0.2.113" , 27017);
MongoDatabase db = client.getDatabase("maindb");
DBCollection collection = db.getCollection("mainCollection")
BasicDBObject document = new BasicDBObject();
// Delete All documents from collection Using blank BasicDBObject
collection.remove(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());
чтобы удалить коллекцию (documents и индексы) вы все еще можете использовать:
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();