1,数据库连接超时:DBPool的连接时的配置:

自己进行设置:

  MongoClientOptions mco = new MongoClientOptions.Builder()

            .autoConnectRetry(autoConnectRetry).writeConcern(WriteConcern.SAFE).connectionsPerHost(
                poolSize).threadsAllowedToBlockForConnectionMultiplier(blockSize).connectTimeout(
                connectTimeout).socketTimeout(socketTimeout).maxWaitTime(maxWaitTime).build();

mongoClient = new MongoClient(listServerAddresses.get(i), mco);  


2,
六月 03, 2015 10:05:34 上午 com.mongodb.DBPortPool gotError
警告: emptying DBPortPool to /172.18.2.162:27017 b/c of error

com.mongodb.MongoException: ids don't match


3,查询数据
 DBObject timebegine = new BasicDBObject();
        DBObject timebeginegte = new BasicDBObject();
        timebeginegte.put("$gte", this.getTimeBegine());
        timebegine.put("createTime", timebeginegte);

DBCursor result = collection.find(timebegine).sort(new BasicDBObject("createTime", 1));  


正则表达式,mongo里面没有类似sql的like特性,不过可以用正则表达式代替

使用正则表达式查询有两种情况,在支持正则表达式字面值(标量)的语言里可以直接使用正则表达式字面值,比如RUBY NODEJS等。

db.USER.find({NAME:/^run/i});//以javascript为例,这个查询出所有用户名以run开头的用户,且不分大小写

像JAVA这样不支持正则表达式标量的语言怎么办呢?就有些麻烦了,需要借助MONGO api完成从字符串到正则表达式的转化。

db.USER.find(NAME:{$regex:'^run',$options:'i'});//这行命令完成跟上一行一样的工作。

其中,$options是正则表达式的选项,它一共有三个字母的任意组合可选,这三个字母分别是g i m,这三个字母可以任意组合表达不同的意义。

g:表示针对整个字符串做匹配,如果不加正则表达式在匹配到第一个符合的子串时就返回了。(global)

i:忽略大小写(insenssitive)

m:一个字符串内如果存在换行符,将作为多行模式匹配(multiple)

除了i以外其它两个选项在查询的时候恐怕用不到。

5  Exception in thread "main" com.mongodb.MongoException$CursorNotFound: cursor 2918353977892988810 not found on server /172.18.22.11:27017

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 collection.resetOptions();
    collection.addOption(Bytes.QUERYOPTION_NOTIMEOUT);
    DBCursor result = collection.find(timebegine).sort(new BasicDBObject("createTime", 1));
    int delnum = result.count();
    logger.info("需要处理的消息数为:{}", delnum);

while (result.hasNext()) {

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

mongodb清洗数据的更多相关文章

  1. 如何用item pipeline(管道)清洗数据

    版权声明:本文为博主原创文章,转载请注明出处:如果博客中有错误之处抑或有可以改进的地方,欢迎在评论区留言. https://blog.csdn.net/f156207495/article/detai ...

  2. MongoDB丢数据问题的分析

    坊间有很多传说MongoDB会丢数据.特别是最近有一个InfoQ翻译的Sven的一篇水文(为什么叫做水文?因为里面并没有他自己的原创,只是搜罗了一些网上的博客,炒了些冷饭吃),其中又提到了丢数据的事情 ...

  3. 【mongodb系统学习之十二】mongodb修改数据(一)

    十二.mongodb修改数据:update 1).修改数据库数据:update:语法 db.collectionName.update({},{},boolean,boolean): 2).updat ...

  4. discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现

    discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现http://www.aboutyun.com/thread-8637-1-1.html(出处: about云 ...

  5. mongoDB 插入数据 用java实现

    import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; impor ...

  6. 【mongodb系统学习之十一】mongodb删除数据

    十一.mongodb删除数据: 1).删除全部文档:remove,语法db.collectionName.remove({}):小括号里边必须要有条件,否则不成功:如果只是一个空的{},则会删除集合内 ...

  7. 【mongodb系统学习之九】mongodb保存数据

    九.mongodb保存数据: 1).插入.保存数据:insert:语法db.collectionName.insert({"key":value}),key是字段名,必须是字符串( ...

  8. MySQL到MongoDB的数据同步方法!

    许多公司随着业务发展,单数据库实例已经不能满足业务需要,需要定期进行数据交换,同步到MongoDB, 或其他位置的MySQL,以分散数据库的并发压力. 目前大部分都采用自行开发的方式处理,存在开发成本 ...

  9. NodeJs之EXCEL文件导入导出MongoDB数据库数据

    NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...

随机推荐

  1. HDFS Users Guide--官方文档

    HDFS Users Guide Purpose Overview Prerequisites Web Interface Shell Commands DFSAdmin Command Second ...

  2. 网络环境场景以及模拟工具netem

    网络环境场景包括: 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况. 掉包(Drop),随机丢弃一些数据. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的 ...

  3. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  4. 9.7noip模拟试题

    题目名称 日历游戏 最大公约数 密码 英文代号 calendar gcd pasuwado 输入文件名 calendar.in gcd.in pasuwado.in 输出文件名 calendar.ou ...

  5. codevs3008加工生产调度(Johnson算法)

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  6. jQuery选择器部分知识点总结

    一.jQuery选择器的优势 1.使用CSS选择器时,开发人员需要考虑主流浏览器是否支持某些选择器,而在jQuery中,开发人员则可以放心的使用jQuery选择器而无需考虑浏览器是否支持这些选择器. ...

  7. Eclipse怎么忽略掉报错的js文件

    第一步,我们要先定位错误在哪里,选择菜单里window——show view——other,选择Problems. 第二步,点击有红叉的项目,在Problems视图中,可以看到是什么错,哪个文件夹中的 ...

  8. 利用iframe实现提交表单是页面部分刷新

    直接上代码: <%@ page language="java" import="java.util.*" pageEncoding="utf-8 ...

  9. equals和hashcode

    java当中所有的类都继承于Object这个基类,在object中的基类定义了一个equals方法,public boolean equals(Object obj) {     return (th ...

  10. 正则表达式 U贪婪模式

    <?php/*模式修正符号: i u 位置:"//模式修正符位置" 可以一次使用一个,也可以一次使用多个 对整个正则表达式调优用的,也可以说是对正则表达式功能的扩展 &quo ...