使用Java创建一个MongoDB的收集上限(Creating a mongodb capped c

2019-07-30 03:30发布

我想创建一个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 ?????? */
    }
}

Answer 1:

使用DB.createCollection操作,然后指定已封顶作为参数DBOBJECT。 然后,您可以在为了控制字节大小和文件的最大数量指定大小最大值 。 MongoDB的网站有一个教程上加盖收集,解释所有的选项,但缺少对每个驱动器的例子。

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);
    }
}


Answer 2:

随着越来越多的最新的Java蒙戈驱动程序(即3.4),创建应略有变化:

CreateCollectionOptions opts = new CreateCollectionOptions().capped(true).sizeInBytes(1024*1024);
database.createCollection("test", opts);

请注意,该createCollection没有返回任何值。



文章来源: Creating a mongodb capped collection in java