I want to create a capped collection from Java code. I found the syntax for creating it through JavaScript, but could not find an example for Java.
Mongo mongo = new Mongo("127.0.0.1");
DB db = mongo.getDB("mydbid");
DBCollection collection;
if (db.collectionExists("mycollection")) {
collection = db.getCollection("mycollection");
} else {
collection = /* ????? Create the collection ?????? */
}
}
Use the DB.createCollection operation and then specify a DBObject that has capped as a parameter. You can then specify size and max in order to control the byte size and the maximum number of documents. The MongoDB site has a tutorial on capped collections that explains all the options, but is missing an example for each driver.
Mongo mongo = new Mongo("127.0.0.1");
DB db = mongo.getDB("mydbid");
DBCollection collection;
if (db.collectionExists("mycollection")) {
collection = db.getCollection("mycollection");
} else {
DBObject options = BasicDBObjectBuilder.start().add("capped", true).add("size", 2000000000l).get();
collection = db.createCollection("mycollection", options);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With