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代码,可直接运行成功,作为初学者非常实用。其中数据库是包含用户名和密码,用户名root ,密码root。
使用java向mongodb中插入数据 一、Linux安装mongodb 二、MongoDB客户端工具(MongoVUE)访问mongodb 三、通过Java操作MongoDB
简单的java操作mongodb 适合于初学者
Java操作MongoDB实例,压缩包内为完整项目源码,使用MyEclipse软件 见文:https://blog.csdn.net/qq_33427869/article/details/87270444
MongoDB Java操作大全 源代码 实例
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件
Java 操作Mongodb中存储的文件的实例
java操作mongodb的工具类,增删查改方法
mongodb安装配置及java操作mongodb 三个word文档和一个Jar包,记录了使用说明
Java 连接MongoDB, java 连接mongodb的操作
java连接mongoDB,增删改查操作等等
JAVA连接MongoDB,并进行简单的增删改查操作小例子源码,相关博文: http://blog.csdn.net/dream_broken/article/details/36014733
MongoDB实现增删改查,java程序驱动,复杂查询,源代码示例
Java Tutorial:Java操作MongoDB入门
用Java操作mongoDB数据库,完成增删改查操作
内部资料,mongodb的存储检索等。完整程序代码封装
这篇文章就是展示如何使用Java基于MongoDB和Spring Data创建一个CRUD应用。 Spring Data for MongoDB提供了一个类似于基于Sping编程模型的NoSQL数据存储。Spring Data for MongoDB提供了很多特性,它使很多MongoDB的...
java操作mongodb增删改查mongodb查询 in like 修改自增
1.java操作mongodb的demo 2.直接解压即可运行
使用JAVA操作MongoDB进行简单测试,构建项目工具为Maven,使用的简单案例进行测试,包含增删改查的具体方式以及实现,pom.xml中集成了Spring所需jar包。欢迎下载。