日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb清洗数据

發布時間:2024/4/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb清洗数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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())?{?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


來自為知筆記(Wiz)

轉載于:https://www.cnblogs.com/zhailzh/p/1789e5526865563ee06113bbb1cab30c.html

總結

以上是生活随笔為你收集整理的mongodb清洗数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。