`

【转】通过 Java 操作 MongoDB

 
阅读更多

 

mongodb的java驱动已经提供比较全的操作,分为三块:

 

1.普通用户操作

 

2.管理员操作

 

3.oplog操作

 

具体可以添加一个eclipse testng插件,再在工程中导入testng.jar包即可看到。

 

本文主要说明各个使用点和注意事项。

 

 

1.连接一个复制集(replica sets)mongod:

 

复制集是mongo解决稳定性的一个方案,也是可以实现读写分离的一种实现,这里介绍复制集的java连接方式。

 

 

static Mongo m;
    
    static {
        List<ServerAddress> addresslist = new ArrayList<ServerAddress>();
        try {
            addresslist.add(new ServerAddress("127.0.0.1:10240"));
            addresslist.add(new ServerAddress("127.0.0.1:11240"));
            addresslist.add(new ServerAddress("127.0.0.1:12240"));
        } catch (UnknownHostException e) {
            System.err.println("address check error.");
            System.exit(-1);
        }
        
        MongoOptions options = new MongoOptions();
        options.autoConnectRetry = true;
        options.connectionsPerHost = 20;
        options.connectTimeout = 6000;
        options.maxAutoConnectRetryTime = 12000;
        options.maxWaitTime = 12000;
        options.socketKeepAlive = true;
        options.socketTimeout = 2000;
        
        try {
            m = new Mongo(addresslist, options);
        } catch (MongoException e) {
            System.err.println("mongo create error.");
            System.exit(-1);
        }
    }

 注:一般例子采用的连接方式是直接连一个mongod服务,但是作为单台的生产环境显然安全性不足,因此采用复制集方式,连接也区别于一般,是使用

 

 

public Mongo( List<ServerAddress> replicaSetSeeds , MongoOptions options ) throws MongoException

 

 

方法。

 

MongoOptions根据自己的需求设置,参数说明已经很多了,不细讲。

注意mongo实例使用单例模式。

 

2.获取db:

 

DB db = m.getDB("test");

 注:取到名为test的db进行操作;若该db不存在,该操作会创建对应的db。

 

 

3.获取集合:

 

DBCollection col = db.getCollection("offer");

 注:取名字为offer的集合;类似于db的表。

 

 

以上三个操作是建立连接,接下去才是db中常用的操作。

 

4.查询:

 

DBCursor cursor = col.find();
        while(cursor.hasNext()) {
	        System.out.println(cursor.next());
        	i++;
        }

 注:全集合查询,输出每条记录,正常情况不会作类似操作,记住两个东西,find()和cursor

 

 

BasicDBObject query = new BasicDBObject();
        query = new BasicDBObject();
        query.put("i", new BasicDBObject("$gt", 20).append("$lte", 30));  // i.e.   20 < i <= 30
        <pre name="code" class="java">        DBCursor cur = coll.find(query);
        while(cur.hasNext()) {
            System.out.println(cur.next());
        }

 注:查询指定条件的offer信息。

 

 

DBObject tmpdoc = col.findOne(doc);

 注:查询单条记录;在很明确一条记录有且只有一条时,findOne()比较方便,免得游标移动麻烦。

 

 

5.更新:

 

DBObject tmpdoc = col.findOne(doc);
tmpdoc.put("i", (Integer)tmpdoc.get("i")+1);
System.out.println("update obj: " + col.findOne(tmpdoc));

 注:更新一条记录,先整个读出再更新部分信息再写入,切记不要读出一部分更新回去。

 

 

6.插入:

int i=1000;
BasicDBObject doc = new BasicDBObject();
doc.put("i", i+1);
col.insert(doc);
System.out.println("insert obj: " + col.findOne(doc));

 注:插入一条记录{i:1001},_id自动生成。 

 

7.删除:

BasicDBObject doc = new BasicDBObject();
doc.put("i", i+1);
		
col.remove(doc);
System.out.println("insert obj: " + col.findOne(doc));

 注:删除一条记录。

 

转自 http://www.open-open.com/lib/view/open1328163885203.html

分享到:
评论

相关推荐

    java操作mongodb存储文件实例

    将一系列图片文件存储到MongoDB中 java操作mongodb存储文件

    java 操作mongodb 增删改查

    以上就是Java操作MongoDB的基本步骤。这个“mongodb_helloworld”项目应该包含示例代码,帮助初学者快速上手。记得在实际应用中,你需要处理异常并适当地关闭MongoClient,以避免资源泄漏: ```java mongoClient....

    java 操作mongodb

    在 Java 开发环境中,可以通过 MongoDB 的 Java 驱动程序来实现对 MongoDB 数据库的操作。本文将详细介绍如何在 Java 中简单操作 MongoDB。 1. **Java 开发环境配置** - **系统**:Windows - **IDE**:Eclipse 或...

    Mongodb + GridFS +Java 操作Mongodb中存储的文件

    在这个Java操作MongoDB中存储的文件实例中,我们将探讨如何利用GridFS API进行文件的存取。 首先,我们需要在Java项目中引入MongoDB的驱动库。目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中...

    Java操作MongoDB实例

    Java操作MongoDB实例,压缩包内为完整项目源码,使用MyEclipse软件 见文:https://blog.csdn.net/qq_33427869/article/details/87270444

    java操作mongoDB(CRUD)

    Java操作MongoDB主要涉及到的是Java驱动程序与MongoDB数据库之间的交互,这涵盖了创建连接、执行CRUD(创建、读取、更新、删除)操作等一系列基本的数据库管理任务。MongoDB是一个流行的NoSQL数据库,以其灵活性、高...

    通过java向mongodb中插入数据

    **三、通过Java操作MongoDB** 1. **引入MongoDB驱动**: 创建Java项目,并导入MongoDB的Java驱动包。 2. **连接MongoDB**: 使用`MongoClient`类实例化一个MongoDB客户端,传入服务器地址和端口号。 3. **选择...

    java实现mongodb数据库的操作

    Java驱动是MongoDB官方提供的一个用于Java应用的API,它允许开发者通过编写Java代码来操作MongoDB数据库。主要包含以下核心组件: 1. MongoClient:这是连接到MongoDB服务器的主入口点,用于建立与MongoDB实例的...

    java操作mongodb的工具类

    java操作mongodb的工具类,增删查改方法

    java连接mongodb的jar包

    总的来说,Java连接MongoDB的关键在于理解和使用MongoDB Java驱动程序,通过它,开发者可以轻松地在Java应用中实现对MongoDB数据库的增删改查等各种操作。在实际开发中,确保正确配置JAR文件,理解连接字符串的格式...

    JAVA操作MongoDB简单增删改查

    以上就是使用Java操作MongoDB的基本步骤。在实际项目中,你可能需要处理更复杂的查询和事务,以及错误处理和连接池管理等高级话题。学习更多关于MongoDB的官方文档和社区资源,如CSDN博客...

    mongodb安装配置及java操作mongodb

    然后,《Mongodb之java操作.doc》将详细介绍如何在Java应用程序中集成和使用MongoDB。Java驱动程序是连接MongoDB的主要方式,文档可能涵盖以下内容: 1. 添加MongoDB Java驱动程序依赖:通常通过Maven或Gradle添加`...

    java操作mongoDB实现文件上传预览打包下载

    对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与MongoDB交互,实现文件的上传、下载、预览以及打包下载等功能。 首先,我们需要在Java项目中引入MongoDB的驱动库,通常是...

    java+MongoDB实现存图片、下载图片的方法示例

    本文主要介绍了使用java和MongoDB实现存图片和下载图片的方法,并结合实例形式详细分析了java结合MongoDB实现图片的存储和下载相关操作技巧。 Java和MongoDB简介 在本文中,我们将使用java作为开发语言,并配合...

    Java操作MongoDB之CRUD(增删改查)

    这篇博文“Java操作MongoDB之CRUD(增删改查)”主要探讨了如何使用Java驱动程序来执行基本的数据库操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。 首先,我们来了解MongoDB的Java驱动...

    java操作mongodb示例分享

    Java操作MongoDB是一种常见的数据交互方式,特别是在Java后端开发中。MongoDB是一个NoSQL数据库,以其灵活性、高性能和易扩展性而受到欢迎。在Java中,我们可以使用MongoDB的Java驱动程序来与MongoDB进行通信。以下...

    java 连接mongodb的操作

    本文将深入探讨如何使用Java API连接MongoDB,并执行基本的操作。 首先,确保已经在项目中引入了MongoDB的Java驱动程序。如果使用Maven,可以在`pom.xml`文件中添加以下依赖: ```xml &lt;groupId&gt;org.mongodb ...

Global site tag (gtag.js) - Google Analytics