mongodb java操作语法

时间:2022-05-06
本文章向大家介绍mongodb java操作语法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

之前都是通过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在limit

query = new BasicDBObject("author", "yinjihuan");
cursor = collection.find(query, fields).skip(0).limit(10);

创建索引

collection.createIndex(new BasicDBObject("author_idx", 1));