- 浏览: 160997 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
youjianbo_han_87:
jredis有连接池啊
Jedis操作redis -
zhouzq1008:
就是,为什么只有4.0
eclipse 安装 resin 3 步骤 (转) -
lalaeye:
是的,如果不释放资源的话,如果操作连接频繁的话,或导致打开太多 ...
Jedis操作redis -
hugh.wang:
还好,注意释放一下资源~~
Jedis操作redis -
nihao7010:
先赞一下再仔细阅读
Jedis操作redis
这段时间一直在研究mongoDB,由于资料很少,网上的又都是互相抄袭,真正学到的不多。官方文档对我来说又很难看懂,总之我是看的都想放弃了的。
但还好坚持了下来,现在把学习的心得记录一下。
程序员特点,没有废话,直接上代码:
以上对mongodb的基本操作应该够用,现在还有弄不明白的就是它的模糊查询和MapReduce的用法,模糊查询只知道是用正则来实现。
以后有空再细细摸索一下吧
但还好坚持了下来,现在把学习的心得记录一下。
程序员特点,没有废话,直接上代码:
public class Test2 { @Test public void setDBData(){ // 连接本地数据库 try { Mongo m = new Mongo( "localhost" , 27017 ); //创建名为test_db的数据库 DB db = m.getDB("test_db"); //获取test_table中的集合(类似于获取关系数据库中的表) Set<String> cols = db.getCollectionNames(); //创建一个叫做"test_table"的集合 DBCollection collection = db.getCollection("test_table"); for(int i=0;i<100;i++){ //基本DB对象,最终插入数据库的就是这个DB对象 BasicDBObject obj = new BasicDBObject(); obj.put("id", i); obj.put("fid", i%30); obj.put("uid", "name"+i%60); obj.put("groupid", i%40); obj.put("ip", "192.168.0."+(i+1)%40); obj.put("regTime", new Date()); collection.insert(obj); } } catch (Exception e) { e.printStackTrace(); } } @Test public void getDBData(){ // 连接本地数据库 try { Mongo m = new Mongo( "localhost" , 27017 ); //创建名为test_db的数据库 DB db = m.getDB("test_db"); //创建一个叫做"test_table"的集合 DBCollection collection = db.getCollection("test_table"); //排序 1为升序 -1为降序 DBCursor cursor=collection.find().sort(new BasicDBObject("id",-1)); //排序 1为升序 -1为降序 //DBCursor cursor=collection.find().limit(10); //只取前十个 //DBCursor cursor=collection.find().skip(10); //取前十个记录之后的 //collection.find().count() ; //总记录数 //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))); /** //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))); */ /**查询特定字段 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); */ while(cursor.hasNext()){ System.out.println(cursor.next()); } /** select distinct("uid") from table * 注意:distinct("uid")这个字段是什么类型,list.get(i)就是什么类型 List list=(List) collection.distinct("uid"); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } */ /**按照groupid分组,并且分组后计算fid的sum //select groupid ,sum(fid) fidCount form table group by groupid //key是group by 的字段 BasicDBObject key = new BasicDBObject(); key.put("groupid", true); //cond是where的条件 可以为空 BasicDBObject cond = new BasicDBObject(); //initial是字段sum的初始值 BasicDBObject initial = new BasicDBObject(); initial.put("fidCount", 0); //reduce是分解归纳求和 fid的sum String reduce = "function(obj,prev) { prev.fidCount +=obj.fid; }"; DBObject obj = collection.group(key, cond, initial, reduce); Set set = obj.keySet(); Iterator it = set.iterator(); int i=0; while(it.hasNext()){ String str_key = (String) it.next(); System.out.println(obj.get(str_key)); i++; } */ } catch (Exception e) { e.printStackTrace(); } } @Test public void deleteTable(){ try { Mongo m = new Mongo( "localhost" , 27017 ); //创建名为test_db的数据库 DB db = m.getDB("test_db"); //db.dropDatabase(); //删除数据库 DBCollection collection = db.getCollection("test_table"); //collection.drop(); //删除表 collection.remove(new BasicDBObject()); //清空表数据 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void findDataByParams(){ try { Mongo m = new Mongo( "localhost" , 27017 ); //创建名为test_db的数据库 DB db = m.getDB("test_db"); DBCollection collection = db.getCollection("test_table"); DBObject obj = new BasicDBObject(); //select ip,groupid form table where uid=name1 obj.put("uid", "name1"); DBCursor cursor=collection.find(obj,new BasicDBObject("ip",1).append("groupid", 1)); while(cursor.hasNext()){ System.out.println(cursor.next()); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void updateData(){ try { Mongo m = new Mongo( "localhost" , 27017 ); //创建名为test_db的数据库 DB db = m.getDB("test_db"); DBCollection collection = db.getCollection("test_table"); /** 以下是用findAndModify方法更改数据 DBObject obj = new BasicDBObject(); obj.put("uid", "name59"); DBObject obj2 = new BasicDBObject(); obj2.put("ip", "111.111.111.333"); //UPDATE test_table SET ip = 111.111.111.333 WHERE uid=name59; DBObject objOld = collection.findAndModify(obj, new BasicDBObject("$set",obj2)); System.out.println("objOld==="+objOld); //这里,findAndModify方法执行后,返回的DBObject内容还是旧的内容,但是数据库里的记录已经改为了新的记录 //如下: DBCursor cursor= collection.find(obj); while(cursor.hasNext()){ System.out.println("objNew=="+cursor.next()); } */ // 以下是用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)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void deleteData(){ try { Mongo m = new Mongo( "localhost" , 27017 ); //创建名为test_db的数据库 DB db = m.getDB("test_db"); DBCollection collection = db.getCollection("test_table"); DBObject obj = new BasicDBObject(); obj.put("uid", "name59"); //删除数据 collection.remove(obj); getDBData(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
以上对mongodb的基本操作应该够用,现在还有弄不明白的就是它的模糊查询和MapReduce的用法,模糊查询只知道是用正则来实现。
以后有空再细细摸索一下吧
发表评论
-
权重算法实现(转)
2011-12-26 11:28 4143原文地址:http://www.blogjava.net/wi ... -
Mongodb的带用户验证replica set配置
2011-10-18 17:14 2816这些天捣鼓了一下mongodb的replica set 本人初 ... -
Java正则(转)
2011-10-13 09:24 949首先说一下java正则表达式的重点概念: 第一、相关类:Pa ... -
Linux下查看某端口占用进程(转)
2011-10-12 11:18 935在Linux操作系统中 查看占用某一端口的进程是什么:#l ... -
easyUi
2011-08-12 16:09 1000原文地址:http://www.ityizhan.com/jq ... -
maven3
2011-08-12 11:56 872原文地址:http://suhuanzheng7784877. ... -
hadoop资料
2011-08-03 16:46 845网上下的,详见附件 -
九 redis学习笔记之虚拟内存(转)
2011-08-02 15:53 980原文地址:http://www.cnblogs.com/xha ... -
八 redis学习笔记之主从复制(转)
2011-08-02 15:53 1039原文地址:http://www.cnblo ... -
六 redis学习笔记之发布订阅(转)
2011-08-02 15:52 1385原文地址:http://www.cnblogs.com/xha ... -
五 redis学习笔记之pipeline(转)
2011-08-02 15:51 950原文地址:http://www.cnblogs.com/xha ... -
四 redis学习笔记之事务(转)
2011-08-02 15:50 978原文地址:http://www.cnblogs.com/xha ... -
三 redis学习笔记之排序(转)
2011-08-02 15:49 1107原文地址:http://www.cnblogs.com/xha ... -
二 redis学习笔记之数据类型(转)
2011-08-02 15:49 1024原文地址:http://www.cnblogs.com/xha ... -
一 redis学习笔记之环境搭建(转)
2011-08-02 15:47 789原文地址:http://www.cnblo ... -
redis学习笔记之持久化(转)
2011-08-02 15:41 837原文地址:http://www.cnblo ... -
redis安装指南(转)
2011-08-01 17:04 955原文地址:http://mwt198668.blog.163. ... -
Jedis操作redis
2011-08-01 16:51 19534package org.jzkangta.jedis; ... -
log4j配置(转)
2011-03-30 12:17 566原文地址:http://www.blogjava.net/zJ ... -
自定义异常
2011-03-22 11:21 768给自己的小例子
相关推荐
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件
【Java 操作 MongoDB 知识点详解】 MongoDB 是一个流行的开源、分布式文档数据库系统,以其灵活性、高性能和高可用性而受到欢迎。在 Java 开发环境中,可以通过 MongoDB 的 Java 驱动程序来实现对 MongoDB 数据库的...
以上就是Java操作MongoDB的基本步骤。这个“mongodb_helloworld”项目应该包含示例代码,帮助初学者快速上手。记得在实际应用中,你需要处理异常并适当地关闭MongoClient,以避免资源泄漏: ```java mongoClient....
在这个Java操作MongoDB中存储的文件实例中,我们将探讨如何利用GridFS API进行文件的存取。 首先,我们需要在Java项目中引入MongoDB的驱动库。目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中...
Java操作MongoDB主要涉及到的是Java驱动程序与MongoDB数据库之间的交互,这涵盖了创建连接、执行CRUD(创建、读取、更新、删除)操作等一系列基本的数据库管理任务。MongoDB是一个流行的NoSQL数据库,以其灵活性、高...
Java操作MongoDB是一种常见的数据交互方式,特别是在Java后端开发中。MongoDB是一个NoSQL数据库,以其灵活性、高性能和易扩展性而受到欢迎。在Java中,我们可以使用MongoDB的Java驱动程序来与MongoDB进行通信。以下...
以上就是使用Java操作MongoDB的基本步骤。在实际项目中,你可能需要处理更复杂的查询和事务,以及错误处理和连接池管理等高级话题。学习更多关于MongoDB的官方文档和社区资源,如CSDN博客...
Java操作MongoDB实例,压缩包内为完整项目源码,使用MyEclipse软件 见文:https://blog.csdn.net/qq_33427869/article/details/87270444
对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与MongoDB交互,实现文件的上传、下载、预览以及打包下载等功能。 首先,我们需要在Java项目中引入MongoDB的驱动库,通常是...
这篇博文“Java操作MongoDB之CRUD(增删改查)”主要探讨了如何使用Java驱动程序来执行基本的数据库操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。 首先,我们来了解MongoDB的Java驱动...
java操作mongodb的工具类,增删查改方法
在本文中,我们将深入探讨如何使用Java操作MongoDB并结合Spring框架进行整合。MongoDB是一个流行的NoSQL数据库,它以JSON格式存储数据,适合处理大量非结构化或半结构化数据。Spring框架则是一个强大的Java企业级...
以上就是使用Java操作MongoDB的基本步骤。在实际应用中,你可能需要处理更复杂的查询和更新,以及错误处理、连接管理等。MongoDB提供了丰富的查询表达式,如`$gt`, `$lt`, `$in`, `$exists`等,以及聚合框架和地理...
Java操作MongoDB是一种常见的数据交互方式,特别是在大数据和分布式系统中。MongoDB是一个高性能、开源、无模式的文档型数据库,而Java作为广泛使用的编程语言,提供了丰富的库和API来与MongoDB进行交互。本Demo提供...
为了更深入地了解如何使用Java操作MongoDB,你需要学习以下知识点: 1. **MongoDB Java驱动程序**:了解如何添加驱动程序依赖,以及如何创建`MongoClient`实例来连接到MongoDB服务器。 2. **数据模型**:理解...
### JAVA操作MongoDB知识点详解 #### 1. Java操作MongoDB简介 MongoDB是一种面向文档的NoSQL数据库,它提供了灵活的文档模型和高性能的读写操作,非常适合处理大量的数据和快速迭代的开发环境。而Java是一种广泛...
Java 操作 MongoDB 是一个常见的需求,特别是在开发基于 Java 的应用程序时需要存储和检索非结构化数据。本篇文章将深入探讨如何使用 Java SDK 来与 MongoDB 进行交互,包括基本的增、删、改、查操作。 首先,要...