千家信息网

mongodbdb启用wiredTiger引擎及zlib压缩

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,public static void main(String[] args) {MongoClientOptions.Builder build = new MongoClientOptions.Bu
千家信息网最后更新 2025年02月02日mongodbdb启用wiredTiger引擎及zlib压缩



public static void main(String[] args) {

MongoClientOptions.Builder build = new MongoClientOptions.Builder();

// 与数据最大连接数50

build.connectionsPerHost(50);

// 如果当前所有的connection都在使用中,则每个connection上可以有50个线程排队等待

build.threadsAllowedToBlockForConnectionMultiplier(50);

build.connectTimeout(1 * 60 * 1000);

build.maxWaitTime(2 * 60 * 1000);

MongoClientOptions options = build.build();

String host="192.168.80.100";

int port=27017;

MongoClient client = new MongoClient(new ServerAddress(host, port), options);


// 获取数据库test,不存在的话,会自动建立该数据库

MongoDatabase db = client.getDatabase("fanyin");


// { storageEngine: {

// wiredTiger: { configString: 'block_compressor=zlib' }}

CreateCollectionOptions createCollectionOptions = new CreateCollectionOptions();

BasicDBObject configString = new BasicDBObject();

configString.put("configString", "block_compressor=zlib");

BasicDBObject bson = new BasicDBObject();

bson.put("wiredTiger", configString);

createCollectionOptions.storageEngineOptions(bson);

boolean isCollectionExist=collectionExists(db, "data");

if(!isCollectionExist){

db.createCollection("data", createCollectionOptions);

}

MongoCollection users = db.getCollection("data");

for (int i = 0; i < 1; i++) {

Document document = new Document();

document.append("address2", "sichuan chengdu444444444444444444444444");

document.append("address3", "sichuan chengdu44455555555555555555555555555555");

users.insertOne(document);

}

MongoCollection users1 = db.getCollection("data1");

for (int i = 0; i < 1; i++) {

Document document = new Document();

document.append("address2", "sichuan chengdu444444444444444444444444");

document.append("address3", "sichuan chengdu44455555555555555555555555555555");

users1.insertOne(document);

}

// MongoClient使用完后必须要close释放资源

client.close();

System.out.println("ooooooooooooookkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");

}

//判断collection是否存在

private static boolean collectionExists(MongoDatabase database,String collectionName){


final MongoIterable iterable = database.listCollectionNames();

try (final MongoCursor it = iterable.iterator()) {

while (it.hasNext()) {

if (it.next().equalsIgnoreCase(collectionName)) {

return true;

}

}

}


return false;

}


0