`

整理了一下mongodb

阅读更多

1.基本对象插入
BasicDBObject obj = new BasicDBObject();    
obj.put("id", i);  
collection.insert(obj);  

2.按照指定字段排序
DBCursor cursor=collection.find().sort(new BasicDBObject("id",-1));   //排序 1为升序  -1为降序  

3.分页
DBCursor cursor=collection.find().limit(10);   //只取前十个  
DBCursor cursor=collection.find().skip(10); //取前十个记录之后的  
collection.find().count()  ;  //总记录数  

4.范围查询
//select * from test_table where id>=10 and id<30  注:$gt=(>)  $gte=(>=)  $lt=(<) $lte=(<=)  $ne=(!=)  
DBCursor cursor = collection.find(new BasicDBObject("id",new BasicDBObject("$lt", 30).append("$gte", 10)));  

5.集合查询
//select * form table where id in (1,12,23) 
int [] strs = new int[3];  //其实也可以放在List里面 
strs[0] = 1;strs[1] = 12;strs[2] = 23; 
DBCursor cursor=collection.find(new BasicDBObject("id",new BasicDBObject("$in",strs))); 


6.查询特定字段 
DBObject query = new BasicDBObject();//要查的条件 
query.put("uid", "name10"); 
DBObject field = new BasicDBObject();//要查的哪些字段 
field.put("id", true); 
field.put("fid", true); 
field.put("ip", true); 
DBCursor cursor=collection.find(query,field); 


7.去掉重复查询
//select distinct("uid") from table 
注意:distinct("uid")这个字段是什么类型,list.get(i)就是什么类型 
List list=(List) collection.distinct("uid"); 



8.以下是用findAndModify方法更改数据 
//UPDATE test_table  SET ip = 111.111.111.333 WHERE uid=name59;
DBObject obj = new BasicDBObject(); 
obj.put("uid", "name59"); 
DBObject obj2 = new BasicDBObject(); 
obj2.put("ip", "111.111.111.333"); 
DBObject objOld = collection.findAndModify(obj, new BasicDBObject("$set",obj2)); 
//这里,findAndModify方法执行后,返回的DBObject内容还是旧的内容,但是数据库里的记录已经改为了新的记录 
System.out.println("objOld==="+objOld);    


9.以下是用update方法更改数据  注:findOne是返回满足条件的第一个记录  
//UPDATE test_table  SET ip = 100.100.100.333 WHERE uid=name59;    
DBObject obj = new BasicDBObject();  
obj.put("uid", "name59");  
DBObject obj2 = collection.findOne(obj);  
obj2.put("ip", "100.100.100.333");  
collection.update(obj, obj2);  
System.out.println("==="+collection.findOne(obj));    


10.删除数据  
DBObject obj = new BasicDBObject();  
obj.put("uid", "name59");  
collection.remove(obj);    


★★★★★★★★★★★★★★★★★http://yangchunhe.iteye.com/blog/1312255★★★★★★★★★★★★★★★★★★★★★

1. 值范围查询,类似 mysql 下的 between 或者 >,< 比较操作 
日期为例: (不知道mongodb的日期是什么类型呢?真的能这样做?还是我想多了呢?)
dbo.put("date",new BasicDBObject("$gte",startDate).append("$lte", endDate)); 

2. 模糊查询,类似于 mysql 下的 like  
如下: content 为要查询的内容 
String content = "aa";
Pattern pattern = Pattern.compile("^.*" + content+ ".*$", Pattern.CASE_INSENSITIVE);  (★java的正则还能用到mongo上。。汗啊)
BasicDBObject dbo = new BasicDBObject();
dbo.put("content", pattern); 
DBCursor cursor=collection.find(dbo); 

3.普通更新字段,查找 id 为 1 的用户更新他的 userName 字段: 
BasicDBObject upBdb=new BasicDBObject("$set" ,new BasicDBObject("username"," 新名字 ")); 
collection.update(new BasicDBObject().append("_id",1),upBdb,false,false);

4.整形字段自增 , 例如要是 commentsNums 字段自增 1 : 
BasicDBObject upBdb=new BasicDBObject("$inc",new BasicDBObject("commentsNums", 1);// 加一操作 
newColl.update(new BasicDBObject().append("_id",1),upBdb,false,false); 

5查询数量: 
条件 bdb =new BasicDBObject(“userId”,1); 
newColl.find(bdb).count() ;

分享到:
评论

相关推荐

    整理的MongoDB集群

    ### 整理的MongoDB集群 #### 一、分布式集群搭建方案 MongoDB是一种非常流行的文档型NoSQL数据库,以其高性能、灵活性以及易于扩展而受到广泛欢迎。在处理大规模数据和高并发访问的情况下,MongoDB提供了多种机制...

    windows下mongodb安装与使用整理

    ### Windows 下 MongoDB 安装与使用详解 #### 一、MongoDB 简介 MongoDB 是一种基于分布式文件存储的开源数据库系统。它属于 NoSQL 数据库的一种,使用 BSON(Binary JSON)格式来存储数据,支持动态模式,使得开发...

    mongoDB笔记整理

    MongoDB笔记整理 MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。下面是 MongoDB 的详细知识点: 1. 简介 MongoDB 是一个介于关系数据库和非...

    MongoDB知识点整理

    MongoDB 是一种高性能、无模式、文档型的数据库,它在NoSQL数据库中非常热门,因为它的灵活性和可扩展性。MongoDB 是开源的,由C++语言编写,设计目标是提供高可用性、高性能以及易操作性。下面将详细阐述MongoDB的...

    windows32位mongodb

    同时,定期维护(如碎片整理)和监控系统资源使用情况也很重要。 12. **升级与迁移**:随着MongoDB版本的更新,可能存在向更高版本升级的需求。升级前,务必备份数据,并根据官方文档完成迁移步骤,以确保数据安全...

    MongoDB开发使用手册

    - MongoDB会定期进行内存压缩,释放空闲内存块,整理内存碎片,便于重新分配。 #### 二、MongoDB内部文件与内存管理详解 **2.1 数据库文件结构** - MongoDB的数据库文件存储在磁盘上,每个数据库对应一系列文件...

    数据库mongoDB整理

    数据库mongoDB整理

    mongodb命令整理1

    MongoDB 是一种流行的开源文档型数据库,以JSON格式存储数据,具有高性能、高可用性和可扩展性。在本文中,我们将深入探讨MongoDB的一些基本命令和概念。 首先,MongoDB中的复制集是一种高可用性的机制,它允许数据...

    mongoDb 基本操作 整理word

    MongoDB 是一种流行的开源文档型数据库,以JSON格式存储数据,具有高性能、高可用性和可扩展性的特点。本文主要概述了MongoDB的基本操作,包括安装、启动、数据库管理以及集合的操作。 首先,安装MongoDB非常简单,...

    mongoDB学习整理资料

    MongoDB数据库学习整理资料,里面从数据库的安装和配置,以及配置创建数据数据,查询,修改,删除等。

    使用scrapy,redis,mongodb实现的一个分布式网络爬虫[整理].pdf

    使用 Scrapy、Redis、MongoDB 实现的分布式网络爬虫 本文详细介绍了使用 Scrapy、Redis、MongoDB 实现的分布式网络爬虫的设计和实现。该爬虫系统使用 Scrapy 框架来抓取网页数据,并使用 Redis 来实现分布式爬虫的...

    mongodb 使用手册

    这部分内容正在整理中,通常会涵盖Java驱动的安装、连接MongoDB、执行查询和操作文档的方法。 ### 第 5 章 其他 这部分可能包括监控、备份恢复、安全设置、性能优化等内容。MongoDB提供了丰富的管理工具,如`...

    mongodb资料大全

    收集整理的mongodb学习资料,与大家分享。 包括: MongoDB 概念理解.pdf MongoDB_使用手册-中文版.pdf MongoDB使用手册.pdf Mongodb文档 与 php操作.pdf MongoDB应用.pdf =========================================...

    MongoDB 使用手册-中文版.docx

    ### MongoDB 使用手册知识点详解 ...以上就是根据给定的文档内容提取和整理出的关键知识点。这些知识点覆盖了MongoDB的基础介绍、安装配置以及常用的基本命令操作,对于初学者来说是非常有用的参考资料。

    mongodb运维_动力节点Java学院整理

    MongoDB 是一个流行的开源文档型数据库,常用于处理大规模数据。在运维 MongoDB 时,有四个关键方面需要关注:安装部署、状态监控、安全认证和备份恢复。以下是对这些方面的详细说明: 一、安装部署 在生产环境中,...

    mongodb常用命令.txt

    在centos7下安装部署mongodb分片+副本集群常用命令整理,内容包含,安装、配置、启动、访问shell终端等命令

    Centos 7 下安装MongoDB,并配置系统启动和开机启动

    最近工作中用到MongoDB,在安装过程中走了很多弯路,整理了详细的安装说明分享给大家。 安装说明内容:MongoDB下载地址、安装MongoDB过程,配置相关文件,配置系统命令启动和开机启动。 如果有疑问请加入QQ群:...

    Redis、Memcache、MongoDB区别

    1、里面包含Redis、MongoDB、Memcache相关的学习文档 2、对这三者有比较详细的应用场景告之,并描述出了三者之间...5、对于新手而言,提供了Redis常用命令进行归纳,并用TXT文档整理出来方便直接复制到DOS界面执行命令

    spring-data-mongodb-1.7.0

    springmvc与mongoDB集成所需jar包 包括spring-data-mongodb-1.7.0.jar、spring-data-commons-1.10.0.RELEASE.jar、spring-data-commons-core-1.4.1.RELEASE....对应支持的mongoDB版本为3.0.3,自己整理好的方便大家下载

Global site tag (gtag.js) - Google Analytics