我想从Java代码创建一个上限集合。我找到了通过JavaScript创建它的语法,但找不到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 ?????? */
}
}
答案 0 :(得分:13)
使用DB.createCollection操作,然后指定具有上限作为参数的DBObject。然后,您可以指定大小和 max ,以便控制字节大小和最大文档数。 MongoDB网站有一个tutorial上限集合,解释了所有选项,但缺少每个驱动程序的示例。
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);
}
}
答案 1 :(得分:0)
使用更新的Java mongo驱动程序(例如3.4),创建应该稍有变化:
CreateCollectionOptions opts = new CreateCollectionOptions().capped(true).sizeInBytes(1024*1024);
database.createCollection("test", opts);
请注意,createCollection
没有返回任何值。