新版跟旧版差别很大,很多函数已经过时,下面的代码使用的是:
mongodb-driver-core-3.12.10.jar
mongo-java-driver-3.12.10.jar
1。连接数据库
ServerAddress serverAddress = new ServerAddress("192.168.1.1", 27017);
// 用户名 数据库名称 密码
MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("test", "admin", "abc".toCharArray());
MongoClientOptions.Builder options = new MongoClientOptions.Builder();
options.cursorFinalizerEnabled(true);
options.connectionsPerHost(300);// 连接池设置为300个连接,默认为100
options.connectTimeout(30000);// 连接超时,推荐>3000毫秒
options.maxWaitTime(5000); //
options.socketTimeout(0);// 套接字超时时间,0无限制
MongoClientOptions mongoClientOptions = options.build();
mongoClient = new MongoClient(serverAddress, mongoCredential, mongoClientOptions);
2。访问数据库
MongoDatabase db1 = mongoClient.getDatabase("students");
3。访问collection
MongoCollection<Document> collection = db1.getCollection("stu");
写代码误把测试数据库drop了,一通兵荒马乱,总算恢复了,把命令记下,以后要加倍小心
1) 从宿主机把文件复制到容器里,其实直接在宿主机执行也可以
docker cp students_backup.gz 9aed487401ca:/test
2) Mongo新版恢复命令文件参数换成了archive
mongorestore -h 127.0.0.1:27017 -d students -u test -pabc --gzip --archive=/test/students_backup.gz
3)Mongo新版备份
docker exec 9aed487401ca mongodump --host=localhost --port=27017 --gzip --db=students -u test -pabc --archive=/test/students_backup.gz