Java连接MongoDB3.0+

MongoDB3.0以上的版本相对于之前的版本已经改变了很多了,就比如说,认证方式的方法改变就有点大了,下面分别说一下,认证和不需要认证的代码该怎么写。

1.MongoDB没有添加使用auth认证方式

     MongoClientURI uri = new MongoClientURI("mongodb://192.168.32.129:27017/local",
               MongoClientOptions.builder().cursorFinalizerEnabled(false));
     MongoClient client = new MongoClient(uri);
     MongoDatabase db=client.getDatabase("local");
     MongoCollection<Document> collection = db.getCollection("system.users");
     List<Document> foundDocument = collection.find().into(new ArrayList<Document>());
     System.out.println(foundDocument);


2.MongoDB启动的时候添加--auth参数启动MongoDB(即安全认证模式下)

private static MongoClient mongoClient = null;
   private static MongoDatabase database = null;
   private static ServerAddress serverAddress = null;
   private static MongoCredential  credentials  = null;
   private static List<ServerAddress> addressLists =new ArrayList<ServerAddress>();
   private static List<MongoCredential> credentialsLists = new ArrayList<MongoCredential>();

try{
       //mongoClient = new MongoClient("192.168.32.129",27017);
       serverAddress = new ServerAddress("192.168.32.129",27017);
       addressLists.add(serverAddress);
       credentials = MongoCredential.createMongoCRCredential("admin", "admin", "admin".toCharArray());
       credentialsLists.add(credentials);
       mongoClient = new MongoClient(addressLists, credentialsLists);
       }catch (MongoException e)
       {
           System.out.println(e.toString());
       }
       if(null != mongoClient){
           database = mongoClient.getDatabase("admin");
           /* collection = database.getCollection("system.users");
           foundDocument = collection.find().into(
                    new ArrayList<Document>());
           System.out.println(foundDocument);*/
       }


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值