MongoDB Java

环境配置

在Java程序中如果要使用MongoDB,你需要确保已经安装了Java环境及MongoDB JDBC 驱动。

你可以参考本站的Java教程来安装Java程序。现在让我们来检测你是否安装了 MongoDB JDBC 驱动。

你需要将mongo.jar包含在你的 classpath 中。。

连接数据库

连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库。

连接数据库的Java代码如下:

importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.WriteConcern;importcom.mongodb.DB;importcom.mongodb.DBCollection;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importcom.mongodb.DBCursor;importcom.mongodb.ServerAddress;importjava.util.Arrays;publicclassMongoDBJDBC{publicstaticvoidmain(Stringargs[]){try{// 连接到 mongodb 服务MongoClientmongoClient=newMongoClient("localhost",27017);// 连接到数据库DB db=mongoClient.getDB("test");System.out.println("Connect to database successfully");booleanauth=db.authenticate(myUserName,myPassword);System.out.println("Authentication: "+auth);}catch(Exceptione){System.err.println(e.getClass().getName()+": "+e.getMessage());}}}

现在,让我们来编译运行程序并创建数据库test。

你可以更加你的实际环境改变MongoDB JDBC驱动的路径。

本实例将MongoDB JDBC启动包 mongo-2.10.1.jar 放在本地目录下:

$javacMongoDBJDBC.java

$java-classpath".:mongo-2.10.1.jar"MongoDBJDBCConnectto database successfullyAuthentication:true

如果你使用的是Window系统,你可以按以下命令来编译执行程序:

$javacMongoDBJDBC.java

$java-classpath".;mongo-2.10.1.jar"MongoDBJDBCConnectto database successfullyAuthentication:true

如果用户名及密码正确,则Authentication 的值为true。

创建集合

我们可以使用com.mongodb.DB类中的createCollection()来创建集合

代码片段如下:

importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.WriteConcern;importcom.mongodb.DB;importcom.mongodb.DBCollection;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importcom.mongodb.DBCursor;importcom.mongodb.ServerAddress;importjava.util.Arrays;publicclassMongoDBJDBC{publicstaticvoidmain(Stringargs[]){try{// 连接到 mongodb 服务MongoClientmongoClient=newMongoClient("localhost",27017);// 连接到数据库DB db=mongoClient.getDB("test");System.out.println("Connect to database successfully");booleanauth=db.authenticate(myUserName,myPassword);System.out.println("Authentication: "+auth);DBCollectioncoll=db.createCollection("mycol");System.out.println("Collection created successfully");}catch(Exceptione){System.err.println(e.getClass().getName()+": "+e.getMessage());}}}

编译运行以上程序,输出结果如下:

Connectto database successfullyAuthentication:trueCollectioncreated successfully

获取集合

我们可以使用com.mongodb.DBCollection类的 getCollection() 方法来获取一个集合

代码片段如下:

importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.WriteConcern;importcom.mongodb.DB;importcom.mongodb.DBCollection;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importcom.mongodb.DBCursor;importcom.mongodb.ServerAddress;importjava.util.Arrays;publicclassMongoDBJDBC{publicstaticvoidmain(Stringargs[]){try{// 连接到 mongodb 服务MongoClientmongoClient=newMongoClient("localhost",27017);// 连接到数据库DB db=mongoClient.getDB("test");System.out.println("Connect to database successfully");booleanauth=db.authenticate(myUserName,myPassword);System.out.println("Authentication: "+auth);DBCollectioncoll=db.createCollection("mycol");System.out.println("Collection created successfully");DBCollectioncoll=db.getCollection("mycol");System.out.println("Collection mycol selected successfully");}catch(Exceptione){System.err.println(e.getClass().getName()+": "+e.getMessage());}}}

编译运行以上程序,输出结果如下:

Connectto database successfullyAuthentication:trueCollectioncreated successfullyCollectionmycol selected successfully

插入文档

我们可以使用com.mongodb.DBCollection类的 insert() 方法来插入一个文档

代码片段如下:

importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.WriteConcern;importcom.mongodb.DB;importcom.mongodb.DBCollection;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importcom.mongodb.DBCursor;importcom.mongodb.ServerAddress;importjava.util.Arrays;publicclassMongoDBJDBC{publicstaticvoidmain(Stringargs[]){try{// 连接到 mongodb 服务MongoClientmongoClient=newMongoClient("localhost",27017);// 连接到数据库DB db=mongoClient.getDB("test");System.out.println("Connect to database successfully");booleanauth=db.authenticate(myUserName,myPassword);System.out.println("Authentication: "+auth);DBCollectioncoll=db.getCollection("mycol");System.out.println("Collection mycol selected successfully");BasicDBObjectdoc=newBasicDBObject("title","MongoDB").append("description","database").append("likes",100).append("url","http://www.w3cschool.cc/mongodb/").append("by","w3cschool.cc");coll.insert(doc);System.out.println("Document inserted successfully");}catch(Exceptione){System.err.println(e.getClass().getName()+": "+e.getMessage());}}}

编译运行以上程序,输出结果如下:

Connectto database successfullyAuthentication:trueCollectionmycol selected successfullyDocumentinserted successfully

检索所有文档

我们可以使用com.mongodb.DBCollection类中的 find() 方法来获取集合中的所有文档。

此方法返回一个游标,所以你需要遍历这个游标。

代码片段如下:

importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.WriteConcern;importcom.mongodb.DB;importcom.mongodb.DBCollection;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importcom.mongodb.DBCursor;importcom.mongodb.ServerAddress;importjava.util.Arrays;publicclassMongoDBJDBC{publicstaticvoidmain(Stringargs[]){try{// 连接到 mongodb 服务MongoClientmongoClient=newMongoClient("localhost",27017);// 连接到数据库DB db=mongoClient.getDB("test");System.out.println("Connect to database successfully");booleanauth=db.authenticate(myUserName,myPassword);System.out.println("Authentication: "+auth);DBCollectioncoll=db.getCollection("mycol");System.out.println("Collection mycol selected successfully");DBCursorcursor=coll.find();inti=1;while(cursor.hasNext()){System.out.println("Inserted Document: "+i);System.out.println(cursor.next());i++;}}catch(Exceptione){System.err.println(e.getClass().getName()+": "+e.getMessage());}}}

编译运行以上程序,输出结果如下:

Connectto database successfullyAuthentication:trueCollectionmycol selected successfullyInsertedDocument:1{"_id":ObjectId(7df78ad8902c),"title":"MongoDB","description":"database","likes":100,"url":"http://www.w3cschool.cc/mongodb/","by":"w3cschool.cc"}

更新文档

你可以使用 com.mongodb.DBCollection 类中的 update() 方法来更新集合中的文档。

代码片段如下:

importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.WriteConcern;importcom.mongodb.DB;importcom.mongodb.DBCollection;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importcom.mongodb.DBCursor;importcom.mongodb.ServerAddress;importjava.util.Arrays;publicclassMongoDBJDBC{publicstaticvoidmain(Stringargs[]){try{// 连接到Mongodb服务MongoClientmongoClient=newMongoClient("localhost",27017);// 连接到你的数据库DB db=mongoClient.getDB("test");System.out.println("Connect to database successfully");booleanauth=db.authenticate(myUserName,myPassword);System.out.println("Authentication: "+auth);DBCollectioncoll=db.getCollection("mycol");System.out.println("Collection mycol selected successfully");DBCursorcursor=coll.find();while(cursor.hasNext()){DBObjectupdateDocument=cursor.next();updateDocument.put("likes","200")col1.update(updateDocument);}System.out.println("Document updated successfully");cursor=coll.find();inti=1;while(cursor.hasNext()){System.out.println("Updated Document: "+i);System.out.println(cursor.next());i++;}}catch(Exceptione){System.err.println(e.getClass().getName()+": "+e.getMessage());}}}

编译运行以上程序,输出结果如下:

Connectto database successfullyAuthentication:trueCollectionmycol selected successfullyDocumentupdated successfullyUpdatedDocument:1{"_id":ObjectId(7df78ad8902c),"title":"MongoDB","description":"database","likes":200,"url":"http://www.w3cschool.cc/mongodb/","by":"w3cschool.cc"}

删除第一个文档

要删除集合中的第一个文档,首先你需要使用com.mongodb.DBCollection类中的

findOne()方法来获取第一个文档,然后使用remove 方法删除。

代码片段如下:

importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.WriteConcern;importcom.mongodb.DB;importcom.mongodb.DBCollection;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importcom.mongodb.DBCursor;importcom.mongodb.ServerAddress;importjava.util.Arrays;publicclassMongoDBJDBC{publicstaticvoidmain(Stringargs[]){try{// 连接到Mongodb服务MongoClientmongoClient=newMongoClient("localhost",27017);// 连接到你的数据库DB db=mongoClient.getDB("test");System.out.println("Connect to database successfully");booleanauth=db.authenticate(myUserName,myPassword);System.out.println("Authentication: "+auth);DBCollectioncoll=db.getCollection("mycol");System.out.println("Collection mycol selected successfully");DBObjectmyDoc=coll.findOne();col1.remove(myDoc);DBCursorcursor=coll.find();inti=1;while(cursor.hasNext()){System.out.println("Inserted Document: "+i);System.out.println(cursor.next());i++;}System.out.println("Document deleted successfully");}catch(Exceptione){System.err.println(e.getClass().getName()+": "+e.getMessage());}}}

编译运行以上程序,输出结果如下:

Connectto database successfullyAuthentication:trueCollectionmycol selected successfullyDocumentdeleted successfully

你还可以使用 save(), limit(), skip(), sort() 等方法来操作MongoDB数据库。

mongodb java 教程_MongoDB Java | 菜鸟教程相关推荐

  1. java 方法_Java 方法 | 菜鸟教程

    Java 方法 在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println() 是一个方法. System 是系统类. out 是标准输出对象. 这句话 ...

  2. 手机上的python编辑器_菜鸟教程在线编辑器|菜鸟教程app手机版下载(html/java/python3)v1.0-乐游网安卓下载...

    <菜鸟教程app手机版>是一款为想要学习编程的朋友们打造的在线学习和编辑的软件,菜鸟教程app中有着html.java.C++等众多不同的编程语言可以学习,软件还自带编辑功能,有着java ...

  3. 超级简单的Python爬虫教程,python爬虫菜鸟教程官网

    毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编 ...

  4. python菜鸟基础教程-python基础菜鸟教程,Python的基础语法

    原标题:python基础菜鸟教程,Python的基础语法 什么是Python?Python是一门简单直观的编程语言,并且目前是开源的,可以方便任何人使用. Python的开发哲学:用一种方法,最好是只 ...

  5. python基础教程菜鸟教程-python基础菜鸟教程,Python的基础语法

    原标题:python基础菜鸟教程,Python的基础语法 什么是Python?Python是一门简单直观的编程语言,并且目前是开源的,可以方便任何人使用. Python的开发哲学:用一种方法,最好是只 ...

  6. exec php 菜鸟教程,sql存储过程菜鸟教程

    这篇文章主要为大家详细介绍了sql存储过程菜鸟教程,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 存储过程是已编译好的T-SQL语句的集合,可以随 ...

  7. 阿里云 mysql教程_mysql数据库菜鸟教程

    mysql数据库菜鸟教程 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Servi ...

  8. java数组定义便利,java数组的定义(菜鸟教程)

    数组 数组有两种定义形式. 数组的定义: 这一种形式使用的频率高,推荐使用. int[] ints={1,2,3}; 第二种形式(容易使人混淆因为在开发中可能把这个看成一个数组类型而不是变量名) in ...

  9. Java 8 新特性-菜鸟教程 (7) -Java 8 Nashorn JavaScript

    Java 8 Nashorn JavaScript Nashorn 一个 javascript 引擎. 从JDK 1.8开始,Nashorn取代Rhino(JDK 1.6, JDK1.7)成为Java ...

  10. java doctype_HTML !DOCTYPE 声明 | 菜鸟教程

    HTML 声明 实例 文档标题文档内容...... 尝试一下 » 浏览器支持 所有主流浏览器都支持 声明. 标签定义及使用说明 声明位于文档中的最前面的位置,处于 标签之前. 声明不是一个 HTML ...

最新文章

  1. 一、Tableau基础
  2. ECMAScript 6 模板字面量的常见用法
  3. Serendipity解决IE缓存为0
  4. angular 指令
  5. 【嵌入式】Libmodbus之RTU模式Slave端程序示例
  6. feign直接走熔断_SpringCloud微服务面试必问:Hystrix 服务降级、熔断
  7. 内存的工作原理(一)
  8. php给客户端发广播,phpsocket.io如何向一个组广播?
  9. jquery 获取同级元素_如何在jQuery中获取元素的同级
  10. 为什么屠呦呦获得了诺贝尔奖却没被评上中科院院士?...
  11. Linux 4.16 正式发布:不再支持 8 种 CPU 架构,内核减少了 450000 行代码 !
  12. Graham 三参数表示法 详解
  13. 电子工程师元器件应用必备宝典
  14. ImageJ自动批量荧光面积统计
  15. 一个屌丝程序员的青春(一三二)
  16. declare 简单用法
  17. ARM CORTEX-M3简介
  18. 柴达木盆地第四大气区探实 尖北产量超亿方
  19. linux漏洞处理(更新中)
  20. SAP国际版本启用及其他多语言版本…

热门文章

  1. 什么是p12证书?ios p12证书怎么获取?
  2. mysql常用语句之DQL:查询语句
  3. win10进入pe模式系统的操作方法
  4. 大白菜方式制作win10 PE启动U盘
  5. 一元线性回归及案例(Python)
  6. python:文件处理之TXT
  7. 机器学习读书笔记:样本降维
  8. javaWeb详细教程
  9. 压力测试 JMeter 使用教程(三分钟拿下)
  10. MySQL8.0.19 JDBC下载与使用