4

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 ?????? */
    }
}
4

2 に答える 2

14

DB.createCollection オペレーションを使用して、上限を設定した DBObject をパラメーターとして指定ます。次に、バイト サイズとドキュメントの最大数を制御するために、sizemaxを指定できます。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);
    }
}
于 2012-06-27T15:01:49.363 に答える
0

最近の Java mongo ドライバー (つまり 3.4) では、作成が若干変更されるはずです。

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

createCollectionは値を返さないことに注意してください。

于 2019-06-06T08:22:19.660 に答える