`

MongoDB -----Java操作MongoDB

 
阅读更多

  java驱动程序是Mongodb中的驱动程序之一,也是比较成熟的Mongodb驱动程序之一,下面介绍了使用java连接、操作Mongodb。

          一、安装java驱动程序

                 Mongodb的java驱动程序是一个jar包,可以在:https://github.com/mongodb/mongo-java-driver/downloads 下载,下载的jar导入到eclipse的项目中即可。

          二、java操作Mongodb

                 java操作Mongodb常用的几个类:

                Mongo:连接服务器,执行一些数据库操作的选项,如新建立一个数据库等

                DB:对应一个数据库,可以用来建立集合等操作

                DBCollection:对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等

                DBObject接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key-value的数据结构,用起来和HashMap是基本一致的。

                DBCursor:用来遍历取得的数据,实现了Iterable和Iterator

 

  1. private static void mongodbOperating(){  
  2.         try {  
  3.             //有多种构造方法,选择一种(IP、port)  
  4.             Mongo m = new Mongo( "192.168.21.111" , 27017 );  
  5.             //选择数据库,如果没有这个数据库的话,会自动建立  
  6.             DB  db = m.getDB( "mydb" );  
  7.   
  8.             //建立一个集合,和数据库一样,如果没有,会自动建立  
  9.             DBCollection collection = db.getCollection("myCollectionTest");  
  10.               
  11.             BasicDBObject doc = new BasicDBObject();  
  12.             doc.put("name""MongoDB");  
  13.             doc.put("type""database");  
  14.             doc.put("count"1);  
  15.   
  16.             BasicDBObject info = new BasicDBObject();  
  17.             info.put("x"203);  
  18.             info.put("y"102);  
  19.             doc.put("info", info);  
  20.   
  21.             //插入一条数据,数据如下  
  22.             // {  
  23.             //     "name" : "MongoDB",  
  24.             //     "type" : "database",  
  25.             //     "count" : 1,  
  26.             //     "info" : {  
  27.             //                 x : 203,  
  28.             //                 y : 102  
  29.             //               }  
  30.             //  }  
  31.             // 可以循环插入多条数据  
  32.             collection.insert(doc);  
  33.             //查找第一条数据,显示如下,_id是系统自动帮加上的,全局唯一  
  34.             //{ "_id" : "49902cde5162504500b45c2c" , "name" : "MongoDB" , "type" : "database" , "count" : 1 , "info" : { "x" : 203 , "y" : 102}}  
  35.             DBObject myDoc = collection.findOne();  
  36.             System.out.println(myDoc);  
  37.               
  38.             //插入多条数据  
  39.             for (int i=0; i < 100; i++) {  
  40.                 collection.insert(new BasicDBObject().append("i", i));  
  41.             }  
  42.   
  43.               
  44.             //获取文档条数  
  45.             System.out.println(collection.getCount());  
  46.               
  47.             //使用Cursor 获取所有文档  
  48.             DBCursor cursor = collection.find();  
  49.             try {  
  50.                 while(cursor.hasNext()) {  
  51.                     System.out.println(cursor.next());  
  52.                 }  
  53.             } finally {  
  54.                 cursor.close();  
  55.             }  
  56.               
  57.             //查找操作,获取单条记录  
  58.             //{ "_id" : "49903677516250c1008d624e" , "i" : 71 }  
  59.             BasicDBObject query = new BasicDBObject();  
  60.             query.put("i"71);  
  61.             cursor = collection.find(query);  
  62.             try {  
  63.                 while(cursor.hasNext()) {  
  64.                     System.out.println(cursor.next());  
  65.                 }  
  66.             } finally {  
  67.                 cursor.close();  
  68.             }  
  69.   
  70.             //查找 i>50的项  
  71.             query = new BasicDBObject();  
  72.             query.put("i"new BasicDBObject("$gt"50));  // e.g. find all where i > 50  
  73.             cursor = collection.find(query);  
  74.             try {  
  75.                 while(cursor.hasNext()) {  
  76.                     System.out.println(cursor.next());  
  77.                 }  
  78.             } finally {  
  79.                 cursor.close();  
  80.             }  
  81.   
  82.   
  83.             //查找 20<i<=30  
  84.             query = new BasicDBObject();  
  85.             query.put("i"new BasicDBObject("$gt"20).append("$lte"30));  // i.e.   20 < i <= 30  
  86.             cursor = collection.find(query);  
  87.             try {  
  88.                 while(cursor.hasNext()) {  
  89.                     System.out.println(cursor.next());  
  90.                 }  
  91.             } finally {  
  92.                 cursor.close();  
  93.             }  
  94.   
  95.             //修改 i=71的一项  
  96.             query = new BasicDBObject();  
  97.             query.put("i"71);  
  98.             BasicDBObject update = new BasicDBObject();  
  99.             update.put("i"710);  
  100.             DBObject dbobj = collection.findAndModify(query, update);  
  101.             System.out.println(dbobj);  
  102.               
  103.             //修改 i=72的一项  
  104.             query = new BasicDBObject();  
  105.             query.put("i"72);  
  106.             update = new BasicDBObject();  
  107.             update.put("i"720);  
  108.             WriteResult result = collection.update(query, update);  
  109.             System.out.println(result);  
  110.               
  111.             //删除i=61的项  
  112.             query = new BasicDBObject();  
  113.             query.put("i"61);  
  114.             collection.findAndRemove(query);  
  115.             //删除i=62的项  
  116.             BasicDBObject remove = new BasicDBObject();  
  117.             remove.put("i"62);  
  118.             collection.remove(remove);  
  119.               
  120.             //创建索引 1为升序、-1为降序  
  121.             collection.createIndex(new BasicDBObject("i"1));  // create index on "i", ascending  
  122.   
  123.             //获取索引列表  
  124.             List<DBObject> list = collection.getIndexInfo();  
  125.             for (DBObject o : list) {  
  126.                 System.out.println(o);  
  127.             }  
  128.   
  129.             //获取数据库列表  
  130.             for (String s : m.getDatabaseNames()) {  
  131.                 System.out.println(s);  
  132.             }  
  133.             //获取集合列表  
  134.             Set<String> colls = db.getCollectionNames();  
  135.             for (String s : colls) {  
  136.                 System.out.println(s);  
  137.             }  
  138.   
  139.             //删除数据库  
  140.             //m.dropDatabase("my_new_db");  
  141.               
  142.   
  143.         } catch (UnknownHostException e) {  
  144.             // TODO Auto-generated catch block  
  145.             e.printStackTrace();  
  146.         }  
  147.     }  


 

 

 

 

http://www.mongodb.org/display/DOCS/Java+Tutorial

分享到:
评论

相关推荐

    mongodb-java-driver-4.4.0.jar

    mongodb-java-driver-4.4.0.jar

    mongodb-driver-sync-4.2.3-API文档-中英对照版.zip

    赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3....

    mongodb-driver-core-4.2.3-API文档-中文版.zip

    赠送jar包:mongodb-driver-core-4.2.3.jar; 赠送原API文档:mongodb-driver-core-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-core-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-core-4.2.3....

    mongodb-driver-sync-4.2.3-API文档-中文版.zip

    赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3....

    MongoDB_3.8.2驱动jar包及其同版本依赖包bson和mongodb-driver-core

    java和mongodb连接,需要mongodb-driver,您还必须下载其依赖项: bson和 mongodb-driver-core》》3个包: mongodb-driver-3.8.2.jar; bson-3.8.2.jar; mongodb-driver-core-3.8.2.jar

    mongodb-java-driver-3.5.0.jar最新驱动包

    亲测可用,解压包含三个jar包,引用时sources和doc包根据需要添加。 mongo-java-driver-3.5.0.jar; mongo-java-driver-3.5.0-javadoc.jar; mongo-java-driver-3.5.0-sources.jar;

    mongodb-driver-core-3.5.0.jar

    `mongodb-driver-3.5.0.jar`是完整版的MongoDB Java驱动,它扩展了`mongodb-driver-core`,提供了更高级别的操作接口,如`MongoClient`和`MongoDatabase`,方便开发者进行数据库操作。这个驱动程序使开发者能够方便...

    mongodb-async-driver-2.0.1 jar包

    MongoDB异步驱动程序(mongodb-async-driver)是为Java开发者设计的一个库,它允许应用程序以非阻塞的方式与MongoDB服务器进行通信,提高了处理大量并发请求的能力。 在"mongodb-async-driver-2.0.1.jar"这个特定...

    mongodb-async-driver-2.0.1驱动.zip

    mongodb-async-driver-2.0.1驱动文件 jar MongoDB Async Java Driver Documentation Welcome to the MongoDB Async Java driver documentation hub. Getting Started The Getting Started guide contains ...

    mongodb-driver-3.4.3

    mongodb-driver-3.4.3,mongodb java开发中常用组件。

    mongodb-driver-core-3.4.3

    mongodb-driver-core-3.4.3,mongodb java开发常用组件。

    mongoDB-CURD操作-----JAVA

    &lt;artifactId&gt;mongodb-driver-sync &lt;version&gt;4.3.0 ``` 创建MongoDB连接: 要连接到MongoDB服务器,我们需要实例化`MongoClient`对象。这通常涉及提供服务器地址、端口以及(如果适用)认证信息: ```java ...

    Java开发案例-springboot-25-整合MongoDB-源代码+文档.rar

    Java开发案例-springboot-25-整合MongoDB-源代码+文档.rar Java开发案例-springboot-25-整合MongoDB-源代码+文档.rar Java开发案例-springboot-25-整合MongoDB-源代码+文档.rar Java开发案例-springboot-25-整合...

    mongodb-compass-community-1.16.4-win32-x64.zip

    在“mongodb-compass-community-1.16.4-win32-x64.zip”这个压缩包中,包含了MongoDB Compass的社区版,它可以帮助用户直观地查看和操作MongoDB数据库。以下是压缩包内各个文件的作用: 1. **snapshot_blob.bin**:...

    Java连接mongoDB需要的jar包(3.9.1)

    这里提到的"Java连接mongoDB需要的jar包(3.9.1)"是指Java开发者用于连接MongoDB数据库的一组关键库文件,包括`bson-3.9.1.jar`、`mongodb-driver-3.9.1.jar`和`mongodb-driver-core-3.9.1.jar`。这些JAR文件是...

    mongodb-windows-x86_64-4.4.6-signed.zip

    对于"mongodb-windows-x86_64-4.4.6-signed.msi"这个文件,它是Windows安装程序包,用于在Windows操作系统上部署MongoDB。用户只需解压下载的zip文件,然后运行msi安装程序,按照向导的步骤进行安装。安装过程中,你...

    mongodb-linux-x86_64-ubuntu1604-4.0.18.tgz

    sudo apt-get install mongodb-org ``` 5. 启动MongoDB服务并设置开机启动: ``` sudo systemctl start mongod sudo systemctl enable mongod ``` 6. 验证MongoDB是否运行正常: ``` mongo --version ```...

    mongodb-driver-core-4.2.3-API文档-中英对照版.zip

    赠送jar包:mongodb-driver-core-4.2.3.jar; 赠送原API文档:mongodb-driver-core-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-core-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-core-4.2.3....

    mongodb-java-driver.jar

    使用java 操作mongoDB必须的jar包,

    mongodb-driver-sync-4.0.4.jar

    java运行依赖jar包

Global site tag (gtag.js) - Google Analytics