Создание коллекции mongodb в java

Я хочу создать ограниченную коллекцию из кода 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 ?????? */
    }
}

Ответы на вопрос(1)

Решение Вопроса

Используйте операцию DB.createCollection, а затем укажите объект DBObject, который имеетcapped в качестве параметра. Затем вы можете указатьsize а такжеmax для того, чтобы контролировать размер байта и максимальное количество документов. На сайте 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);
    }
}
 23 февр. 2015 г., 11:03
Спасибо за ответ, но мне интересно, есть ли другой подход, кроме использования if else для этой проблемы?
 Lee Jensen24 февр. 2015 г., 15:48
If / else используется только для динамического создания, если коллекция не существует. Если ограниченная коллекция создана до ее использования, вам нужно толькоelse часть примера кода.

Ваш ответ на вопрос