1.新建Project

新建Java Project,并把mongo-java-driver驱动加入到项目bulid path中,如果你使用的是maven增加依赖。

  1. <dependency>
  2. <groupId>org.mongodb</groupId>
  3. <artifactId>mongo-java-driver</artifactId>
  4. <version>2.10.1</version>
  5. </dependency>

2.连接上MongoDB

  1. //>2.10版本
  2. MongoClient mongo = new MongoClient( "localhost" , 27017 );
  3.  
  4. //老版本
  5. Mongo mongo = new Mongo("localhost", 27017);

如果需要验证,需要输入用户名和密码

  1. MongoClient mongoClient = new MongoClient();
  2. DB db = mongoClient.getDB("database name");
  3. boolean auth = db.authenticate("username", "password".toCharArray());

3.MongoDB数据库

得到MongoDB中的数据库,如果数据库名不存在,MongoDB会自动创建

  1. DB db = mongo.getDB("database name");

显示所有的数据库

  1. List<String> dbs = mongo.getDatabaseNames();
  2. for(String db : dbs){
  3. System.out.println(db);
  4. }

4.MongoDB Collection(MongoDB表)

得到数据库中的表

  1. DB db = mongo.getDB("testdb");
  2. DBCollection table = db.getCollection("user");

显示数据库中的所有表

  1. DB db = mongo.getDB("testdb");
  2. Set<String> tables = db.getCollectionNames();
  3.  
  4. for(String coll : tables){
  5. System.out.println(coll);
  6. }

5.插入、查找、更新、删除操作

插入数据,向Collection(表)中插入一个Document

  1. DBCollection table = db.getCollection("user");
  2. BasicDBObject document = new BasicDBObject();
  3. document.put("name", "qiyadeng");
  4. document.put("age", 30);
  5. document.put("createdDate", new Date());
  6. table.insert(document);

更新Document中的name="qiyadeng.com"

  1. DBCollection table = db.getCollection("user");
  2.  
  3. BasicDBObject query = new BasicDBObject();
  4. query.put("name", "qiyadeng");
  5.  
  6. BasicDBObject newDocument = new BasicDBObject();
  7. newDocument.put("name", "qiyadeng.com");
  8.  
  9. BasicDBObject updateObj = new BasicDBObject();
  10. updateObj.put("$set", newDocument);
  11.  
  12. table.update(query, updateObj);

从Collection中查找name="qiyadeng.com"的Document

  1. DBCollection table = db.getCollection("user");
  2.  
  3. BasicDBObject searchQuery = new BasicDBObject();
  4. searchQuery.put("name", "qiyadeng.com");
  5.  
  6. DBCursor cursor = table.find(searchQuery);
  7.  
  8. while (cursor.hasNext()) {
  9. System.out.println(cursor.next());
  10. }

删除name="qiyadeng"的Document

  1. DBCollection table = db.getCollection("user");
  2.  
  3. BasicDBObject searchQuery = new BasicDBObject();
  4. searchQuery.put("name", "qiyadeng.com");
  5.  
  6. table.remove(searchQuery);

6.完整的例子

  1. package com.qiyadeng.mongodb;
  2.  
  3. import java.util.Date;
  4.  
  5. import com.mongodb.BasicDBObject;
  6. import com.mongodb.DB;
  7. import com.mongodb.DBCollection;
  8. import com.mongodb.DBCursor;
  9. import com.mongodb.MongoClient;
  10.  
  11. public class MongoDBSample {
  12.  
  13. public static void main(String[] args) throws Exception{
  14.  
  15. /**** Connect to MongoDB ****/
  16. //2.10.0后,使用MongoClient
  17. MongoClient mongo = new MongoClient("localhost", 27017);
  18.  
  19. /**** Get database ****/
  20. // if database doesn't exists, MongoDB will create it for you
  21. DB db = mongo.getDB("testdb");
  22.  
  23. /**** Get collection / table from 'testdb' ****/
  24. // if collection doesn't exists, MongoDB will create it for you
  25. DBCollection table = db.getCollection("user");
  26.  
  27. /**** Insert ****/
  28. // create a document to store key and value
  29. BasicDBObject document = new BasicDBObject();
  30. document.put("name", "qiyadeng");
  31. document.put("age", 30);
  32. document.put("createdDate", new Date());
  33. table.insert(document);
  34.  
  35. /**** Find and display ****/
  36. BasicDBObject searchQuery = new BasicDBObject();
  37. searchQuery.put("name", "qiyadeng");
  38.  
  39. DBCursor cursor = table.find(searchQuery);
  40.  
  41. while (cursor.hasNext()) {
  42. System.out.println(cursor.next());
  43. }
  44.  
  45. /**** Update ****/
  46. // search document where name="qiyadeng" and update it with new values
  47. BasicDBObject query = new BasicDBObject();
  48. query.put("name", "qiyadeng");
  49.  
  50. BasicDBObject newDocument = new BasicDBObject();
  51. newDocument.put("name", "qiyadeng.com");
  52.  
  53. BasicDBObject updateObj = new BasicDBObject();
  54. updateObj.put("$set", newDocument);
  55.  
  56. table.update(query, updateObj);
  57.  
  58. /**** Find and display ****/
  59. BasicDBObject searchQuery2
  60. = new BasicDBObject().append("name", "qiyadeng.com");
  61.  
  62. DBCursor cursor2 = table.find(searchQuery2);
  63.  
  64. while (cursor2.hasNext()) {
  65. System.out.println(cursor2.next());
  66. }
  67. }
  68. }

输出

{ "_id" : { "$oid" : "51444c88874c79654063356b"} , "name" : "qiyadeng" , "age" : 30 , "createdDate" : { "$date" : "2013-03-16T10:42:16.555Z"}}
{ "_id" : { "$oid" : "51444c88874c79654063356b"} , "age" : 30 , "createdDate" : { "$date" : "2013-03-16T10:42:16.555Z"} , "name" : "qiyadeng.com"}
  1.  

使用mongo验证创建的数据库testdb,collection user是否存在。

转自:http://www.cnblogs.com/qiyadeng/archive/2013/03/19/2970131.html

Java和MongoDB之Hello World的更多相关文章

  1. 【MongoDB for Java】Java操作MongoDB

    上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...

  2. JAVA操作MongoDB数据库

    1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...

  3. [转]MongoDB for Java】Java操作MongoDB

    原文地址: MongoDB for Java]Java操作MongoDB 开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开 ...

  4. Java 连接MongoDB

    1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...

  5. Java操作MongoDB

    上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html 介绍到了在MongoDB的控制台完成MongoDB的数据操作,通 ...

  6. mongDB基本命令和Java操作MongoDB

    上一篇博文<mongoDB安装>我们安装了mongoDB,现在来复习一下它的一些基本命令:mongoDB的bin目录加入到path之后,命令行中输入mongo: 然后我们进入正题 1.查看 ...

  7. Mongodb快速入门之使用Java操作Mongodb

    [IT168 专稿]在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作. HelloWorld程序 学习任何程序的第一步,都是编 ...

  8. Mongodb入门并使用java操作Mongodb

    转载请注意出处:http://blog.csdn.net/zcm101 最近在学习NoSql,先从Mongodb入手,把最近学习的总结下. Mongodb下载安装 Mongodb的下载安装就不详细说了 ...

  9. 浅谈如何用Java操作MongoDB

    NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库.本文主要讲述如何使用Java操作Mon ...

  10. Java实现mongodb原生增删改查语句

    Java实现mongodb原生增删改查语句 2018-03-16 自动化测试时,需校验数据库数据,为了快速自动化,在代码中用原生增删改查语句操作mongodb 结构 代码 0 pom.xml < ...

随机推荐

  1. HDU 1599 find the mincost route (无向图的最小环)

    题意: 给一个带权无向图,求其至少有3个点组成的环的最小权之和. 思路: (1)DFS可以做,实现了确实可以,只是TLE了.量少的时候应该还是可以水一下的.主要思路就是,深搜过程如果当前点搜到一个点访 ...

  2. 2015-10-11 Sunday 晴 ARM学习

    基础的知识看得差不多了,linux系统相关的,最主要是c语言基础知道,还有linux系统编程,网络编程socket等相关的.这些内容最最基础的看完了,接下来我在考虑看什么呢?是看ARM以及驱动编程系列 ...

  3. 【转】Eclipse常用快捷键

    原文网址:http://denver.blog.51cto.com/272871/52219 编辑相关快捷键 1.[Alt+/] 为用户提供内容的辅助. 2.[Ctrl+O] 显示类中方法和属性的大纲 ...

  4. 如何在vmware上创建共享磁盘

    1.先在你本机的vmware安装目录上找到 vmware-vdiskmanager.exe 执行文件. 我的目录是 d:\vmware\vmware-vdiskmanager.exe 再用cmd终端( ...

  5. 嵌入式 GDB调试死锁示例

    死锁:一种情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被 其他线程占用并堵塞了的资源.例如,如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线 ...

  6. C++中关于类型转换的问题讨论

    这里以signed/unsigned char, signed/unsigned short, signed/unsigned int类型为例, 讨论一下基本类型转换的基本原理,这样我们在编程中碰到由 ...

  7. sqlite3使用简介(内含解决sqlite内存的方法)

    一.使用流程 要使用sqlite,需要从sqlite官网下载到三个文件,分别为sqlite3.lib,sqlite3.dll,sqlite3.h,然后再在自己的工程中配置好头文件和库文件,同时将dll ...

  8. ArcGIS Engine栅格数据使用总结

    jojojojo2002 原文 ArcGIS Engine栅格数据使用总结 简介:ArcGIS Engine栅格数据使用总结,一个栅格数据集由一个或者多个波段(RasterBand)的数据组成,一个波 ...

  9. Lucene 入门需要了解的东西

    全文搜索引擎的原理网上大段的内容,要想深入的学习,最好的办法就是先用一下,lucene 发展比较快,下面是写第一个demo  要注意的一些事情: 1.Lucene的核心jar包,下面几个包分别位于不同 ...

  10. EditText的几个小点

    1. EditText 由 TextView 继承而来 2. android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用.这也大大的方便的操作.有时需要虚拟键盘 ...