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));

原文发布于微信公众号 - 猿天地(cxytiandi)

原文发表时间:2016-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT可乐

mybatis 详解(八)------ 懒加载

  本章我们讲如何通过懒加载来提高mybatis的查询效率。   本章所有代码:http://pan.baidu.com/s/1o8p2Drs 密码:trd6 ...

3409
来自专栏社区的朋友们

MongoDb 简单介绍

最近一段时间使用 mongodb 做媒资数据的接入,简单介绍一下 mongodb 的特性和语法。希望对大家有所帮助。

1450
来自专栏小樱的经验随笔

BugkuCTF SQL注入1

1754
来自专栏大学生计算机视觉学习DeepLearning

新手 php连接数据库大概。简单过程浅析以及遇到的问题分析

1546
来自专栏Java成神之路

PL/SQL学习笔记_02_游标

        在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实现。 

1034
来自专栏天天

Ajax(20171102)

783
来自专栏黑泽君的专栏

day30_Hibernate复习_02(补刀)

对象的三种状态:     瞬时态:对象刚刚创建,没有与session关联,没有ID     持久态:已经和Session关联,有ID     游离...

662
来自专栏微信公众号:Java团长

彻底解决MySQL中文乱码

mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。

1912
来自专栏别先生

ERROR: invalid byte sequence for encoding "UTF8": 0x00

1、使用kettle批量导入数据的时候,数据出现了下面的错误。ERROR: invalid byte sequence for encoding "UTF8":...

1221
来自专栏Linux驱动

C-fopen,fwrite,fread,fseek笔记

FILE * fopen(const char * path,const char * mode);

1772

扫码关注云+社区