设为首页 收藏本站
查看: 934|回复: 0

[经验分享] mongoDB在java上面的应用

[复制链接]

尚未签到

发表于 2017-12-15 16:05:31 | 显示全部楼层 |阅读模式
  1、实际应用过程中肯定不会直接通过Linux的方式来连接和使用数据库,而是通过其他驱动的方式来使用mongoDB
  2、本教程只针对于Java来做操作,主要是模拟mongoDB数据库在开发过程中的应用
  3、在官网下载对应的jar包,来做mongoDB的驱动支持,当然也可以利用pom.xml文件自己下载
  jar下载地址:https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.4.2/
  这个是3.4.2版本的,有需要可以下载其他版本
DSC0000.png

  也可以在pom.xml文件中加入
  

<dependencies>  <dependency>
  <groupId>org.mongodb</groupId>
  <artifactId>mongodb-driver</artifactId>
  <version>3.4.2</version>
  </dependency>
  
</dependencies>
  

  4、连接数据库,连接数据库的方式有两种。一种是没有用户名密码,另外一种是有的
  1)没有密码
  

  public static void main(String[] args) {try{// 连接到 mongodb 服务  MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
  // 连接到数据库
  MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  
  System.out.println("Connect to database successfully");               
  }catch(Exception e){
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );
  }
  }
  

  2)有密码
  

  public static void main(String[] args) {try {//连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址//ServerAddress()两个参数分别为 服务器地址 和 端口  ServerAddress serverAddress = new ServerAddress("localhost",27017);  
  List<ServerAddress> addrs = new ArrayList<ServerAddress>();  
  addrs.add(serverAddress);               
  //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码  
  MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());  
  List<MongoCredential> credentials = new ArrayList<MongoCredential>();  
  credentials.add(credential);               
  //通过连接认证获取MongoDB连接  
  MongoClient mongoClient = new MongoClient(addrs,credentials);               
  //连接到数据库  
  MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");  
  System.out.println("Connect to database successfully");  
  } catch (Exception e) {  
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );  
  }  
  }
  

  5、创建集合
  

    public static void main(String[] args) {try{// 连接到 mongodb 服务  MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
  // 连接到数据库
  MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  
  System.out.println("Connect to database successfully");
  mongoDatabase.createCollection("test");
  System.out.println("集合创建成功");        
  }catch(Exception e){
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );
  }
  }
  

  6、获取集合
  

    public static void main(String[] args) {try{// 连接到 mongodb 服务  MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
  // 连接到数据库
  MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  
  System.out.println("Connect to database successfully");
  MongoCollection<Document> collection = mongoDatabase.getCollection("test");
  System.out.println("集合 test 选择成功");
  }catch(Exception e){
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );
  }
  }
  

  7、插入文档(BSON格式)
  

    public static void main(String[] args) {try{  MongoClient mongoClient
= new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务  MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  // 连接到数据库
  System.out.println("Connect to database successfully");
  MongoCollection<Document> collection = mongoDatabase.getCollection("test"); //获取集合
  System.out.println("集合 test 选择成功");
  Document document = new Document("title", "MongoDB").append("description", "database").append("likes", 100);  //新建文档
  List<Document> documents = new ArrayList<Document>();  
  documents.add(document);  
  collection.insertMany(documents);  //添加文档(对应的BSON数据)
  System.out.println("文档插入成功");  
  }catch(Exception e){
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );
  }
  }
  

  8、检索文档,查找对用数据
  

public static void main(String[] args) {try{  MongoClient mongoClient
= new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务  MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  // 连接到数据库
  System.out.println("Connect to database successfully");
  MongoCollection<Document> collection = mongoDatabase.getCollection("test"); //获取集合
  System.out.println("集合 test 选择成功");
  FindIterable<Document> findIterable = collection.find();  //获取迭代器
  MongoCursor<Document> mongoCursor = findIterable.iterator();  //获取游标
  while(mongoCursor.hasNext()){  //循环获取数据
  
        System.out.println(mongoCursor.next());  
  }  
  }catch(Exception e){
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );
  }
  
}
  

  9、更新文档数据
  

public static void main( String args[] ){try{  MongoClient mongoClient
= new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务  MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  // 连接到数据库
  System.out.println("Connect to database successfully");
  MongoCollection<Document> collection = mongoDatabase.getCollection("test");
  System.out.println("集合 test 选择成功");
  collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));  //更新文档 将文档中likes=100的文档修改为likes=200   
  FindIterable<Document> findIterable = collection.find();  //检索查看结果
  MongoCursor<Document> mongoCursor = findIterable.iterator();  
  while(mongoCursor.hasNext()){  
  System.out.println(mongoCursor.next());  
  }  
  }catch(Exception e){
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );
  }
  
}
  

  10、删除文档
  

public static void main( String args[] ){try{  MongoClient mongoClient
= new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务  MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  // 连接到数据库
  System.out.println("Connect to database successfully");
  MongoCollection<Document> collection = mongoDatabase.getCollection("test");
  System.out.println("集合 test 选择成功");        
  collection.deleteOne(Filters.eq("likes", 200));  //删除符合条件的第一个文档         
  collection.deleteMany (Filters.eq("likes", 200));  //删除所有符合条件的文档  
  //检索查看结果  
  FindIterable<Document> findIterable = collection.find();  
  MongoCursor<Document> mongoCursor = findIterable.iterator();  
  while(mongoCursor.hasNext()){  
  System.out.println(mongoCursor.next());  
  }  
  }catch(Exception e){
  System.err.println( e.getClass().getName() + ": " + e.getMessage() );
  }
  
}
  

  11、基本的操作就是这样,在实际应用过程中,可以通过一定的数据格式要求来做一些修改和添加,数据的应用可以通过Document来具体获取获取进行处理
  12、为了方便数据库的管理和学习也可以参考其他的学习方法,来实现对应的结果
  13、推荐一个学习mongoDB的网站,适合新手!老鸟略过。。。
  网址:http://www.runoob.com/mongodb/mongodb-tutorial.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424408-1-1.html 上篇帖子: Windows MongoDB安装配置 下篇帖子: mongodb中的populate方法【转载】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表