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
相关推荐
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件
以上就是Java操作MongoDB的基本步骤。这个“mongodb_helloworld”项目应该包含示例代码,帮助初学者快速上手。记得在实际应用中,你需要处理异常并适当地关闭MongoClient,以避免资源泄漏: ```java mongoClient....
在 Java 开发环境中,可以通过 MongoDB 的 Java 驱动程序来实现对 MongoDB 数据库的操作。本文将详细介绍如何在 Java 中简单操作 MongoDB。 1. **Java 开发环境配置** - **系统**:Windows - **IDE**:Eclipse 或...
在这个Java操作MongoDB中存储的文件实例中,我们将探讨如何利用GridFS API进行文件的存取。 首先,我们需要在Java项目中引入MongoDB的驱动库。目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中...
Java操作MongoDB实例,压缩包内为完整项目源码,使用MyEclipse软件 见文:https://blog.csdn.net/qq_33427869/article/details/87270444
Java操作MongoDB主要涉及到的是Java驱动程序与MongoDB数据库之间的交互,这涵盖了创建连接、执行CRUD(创建、读取、更新、删除)操作等一系列基本的数据库管理任务。MongoDB是一个流行的NoSQL数据库,以其灵活性、高...
**三、通过Java操作MongoDB** 1. **引入MongoDB驱动**: 创建Java项目,并导入MongoDB的Java驱动包。 2. **连接MongoDB**: 使用`MongoClient`类实例化一个MongoDB客户端,传入服务器地址和端口号。 3. **选择...
Java驱动是MongoDB官方提供的一个用于Java应用的API,它允许开发者通过编写Java代码来操作MongoDB数据库。主要包含以下核心组件: 1. MongoClient:这是连接到MongoDB服务器的主入口点,用于建立与MongoDB实例的...
java操作mongodb的工具类,增删查改方法
总的来说,Java连接MongoDB的关键在于理解和使用MongoDB Java驱动程序,通过它,开发者可以轻松地在Java应用中实现对MongoDB数据库的增删改查等各种操作。在实际开发中,确保正确配置JAR文件,理解连接字符串的格式...
以上就是使用Java操作MongoDB的基本步骤。在实际项目中,你可能需要处理更复杂的查询和事务,以及错误处理和连接池管理等高级话题。学习更多关于MongoDB的官方文档和社区资源,如CSDN博客...
然后,《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作为开发语言,并配合...
这篇博文“Java操作MongoDB之CRUD(增删改查)”主要探讨了如何使用Java驱动程序来执行基本的数据库操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。 首先,我们来了解MongoDB的Java驱动...
Java操作MongoDB是一种常见的数据交互方式,特别是在Java后端开发中。MongoDB是一个NoSQL数据库,以其灵活性、高性能和易扩展性而受到欢迎。在Java中,我们可以使用MongoDB的Java驱动程序来与MongoDB进行通信。以下...
本文将深入探讨如何使用Java API连接MongoDB,并执行基本的操作。 首先,确保已经在项目中引入了MongoDB的Java驱动程序。如果使用Maven,可以在`pom.xml`文件中添加以下依赖: ```xml <groupId>org.mongodb ...