之前都是通过spring-data框架来对mongodb操作,当然在很多老的项目中,由于jar包版本的问题,
不太好升级到最新的版本,往往会采用mongodb-driver.jar直接来操作,下面我们就简单的介绍下一些常用的语法。
添加数据
collection.save(new BasicDBObject("author", "yinjihuan").append("title", "mongodb"));编辑数据
collection.update(new BasicDBObject("author", "yinjihuan"), new BasicDBObject("$set", new BasicDBObject("title", "mongodb3.0")));删除数据
collection.remove(new BasicDBObject("author", "yinjihuan"));查询所有数量
long count = collection.count();查询所有数据
DBCursor cursor = collection.find(); while (cursor.hasNext()) { DBObject data = cursor.next(); System.out.println(data.toString()); }查询第一条数据
DBObject data = collection.findOne();带条件查询
DBObject query = new BasicDBObject("author", "yinjihuan"); cursor = collection.find(query);大于(gt)查询
query = new BasicDBObject("visit_count", new BasicDBObject("$gt", 10)); cursor = collection.find(query);小于(lt)查询
query = new BasicDBObject("visit_count", new BasicDBObject("$lt", 10)); cursor = collection.find(query);查询固定的列
query = new BasicDBObject("author", "yinjihuan"); DBObject fields = new BasicDBObject("author", 1); cursor = collection.find(query, fields);分页查询,当数据量较大的时候不建议使用skip,会很慢的
建议按id排序,每查询一页记住最后一条id,然后大于id在limitquery = new BasicDBObject("author", "yinjihuan"); cursor = collection.find(query, fields).skip(0).limit(10);创建索引
collection.createIndex(new BasicDBObject("author_idx", 1));
源码地址:spring-data-mongodb