日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > 使用php mongodb擴展時比較需要注意的事項

使用php mongodb擴展時比較需要注意的事項

來源:程序員人生   發(fā)布時間:2013-11-12 15:11:49 閱讀次數(shù):3766次

最近在使用php的mongo 擴展進行數(shù)據(jù)統(tǒng)計計算,其中有一個時間戳字段,由于精確到了毫秒,長度有13位,但由于開始的時候是以字符串的形式存儲:

最近在使用php的mongo 擴展進行數(shù)據(jù)統(tǒng)計計算,其中有一個時間戳字段,由于精確到了毫秒,長度有13位,但由于開始的時候是以字符串的形式存儲:

實例代碼如下:

  1. "_id" : ObjectId("504eea97e4b023cf38e34039"), "in_ts" : NumberLong("1347349143699"), "log" : { "guid" : "4D1F3079-7507-F4B0-E7AF-5432D5D8229D""p" : "View_Prop_YepPage_Zheng""cid" : "11""url" : "http://shanghai.haozu.com/rental/broker/n/10481780""rfpn" : "Listing_V2_IndexPage_All""site" : "haozu""agent" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)""stamp" : "1347349162159""cip" : "116.226.70.44""referer" : "http://shanghai.haozu.com/shop/1464934/""cstamp" : "1347349323125""sessid" : "FA798056-F9E7-F961-41E0-CC95C850FA47""uguid" : "C00FF55B-3D3D-4B31-4318-12345B0DBE64""pn" : "View_Prop_YepPage_Zheng""cstparam" : { "proId" : NumberLong(10481780), "brokerId" : "326792""tradeType" : "2""userType" : "0""channel" : "site""entry" : "1""COMMID" : "1666" } }, "out_ts" : NumberLong("1347349466083"), "rule" : 0, "status" : "ok""txid" : 0 } 

后來改成數(shù)字格式:

實例代碼如下:

  1. "_id" : ObjectId("504eea97e4b023cf38e34039"), "in_ts" : NumberLong("1347349143699"), "log" : { "guid" : "4D1F3079-7507-F4B0-E7AF-5432D5D8229D""p" : "View_Prop_YepPage_Zheng""cid" : "11""url" : "http://shanghai.haozu.com/rental/broker/n/10481780""rfpn" : "Listing_V2_IndexPage_All""site" : "haozu""agent" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)""stamp" : NumberLong("1347349162159"), "cip" : "116.226.70.44""referer" : "http://shanghai.haozu.com/shop/1464934/""cstamp" : "1347349323125""sessid" : "FA798056-F9E7-F961-41E0-CC95C850FA47""uguid" : "C00FF55B-3D3D-4B31-4318-12345B0DBE64""pn" : "View_Prop_YepPage_Zheng""cstparam" : { "proId" : NumberLong(10481780), "brokerId" : "326792""tradeType" : "2""userType" : "0""channel" : "site""entry" : "1""COMMID" : "1666" } }, "out_ts" : NumberLong("1347349466083"), "rule" : 0, "status" : "ok""txid" : 0 }為字符串時,使用下面的查詢是正常的 
  2.         $query = array ('log.stamp' => array ('$gte' => ‘1347346800000’, '$lt' => ‘1347350400000’)); 

但是改為數(shù)字后,使用下面的查詢,死活沒有結(jié)果,但是直接在mongo客戶端直接查詢是有結(jié)果的:

實例代碼如下:

  1. "_id" : ObjectId("504eea97e4b023cf38e34039"), "in_ts" : NumberLong("1347349143699"), "log" : { "guid" : "4D1F3079-7507-F4B0-E7AF-5432D5D8229D""p" : "View_Prop_YepPage_Zheng""cid" : "11""url" : "http://shanghai.haozu.com/rental/broker/n/10481780""rfpn" : "Listing_V2_IndexPage_All""site" : "haozu""agent" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)""stamp" : NumberLong("1347349162159"), "cip" : "116.226.70.44""referer" : "http://shanghai.haozu.com/shop/1464934/""cstamp" : "1347349323125""sessid" : "FA798056-F9E7-F961-41E0-CC95C850FA47""uguid" : "C00FF55B-3D3D-4B31-4318-12345B0DBE64""pn" : "View_Prop_YepPage_Zheng""cstparam" : { "proId" : NumberLong(10481780), "brokerId" : "326792""tradeType" : "2""userType" : "0""channel" : "site""entry" : "1""COMMID" : "1666" } }, "out_ts" : NumberLong("1347349466083"), "rule" : 0, "status" : "ok""txid" : 0 }為字符串時,使用下面的查詢是正常的 
  2.         $query = array ('log.stamp' => array ('$gte' => ‘1347346800000’, '$lt' => ‘1347350400000’)); 

實例代碼如下:

  1. db.haozu_success.find({'log.stamp':{$gte:1347346800000,$lt:1347350400000}}) 

php手冊上也是這么個用法:

 
  1. $query = array ('log.stamp' => array ('$gte' => 1347346800000, '$lt' => 1347350400000)); 

花了好大一會找原因,開始時懷疑是php擴展的bug導(dǎo)致,經(jīng)過一番思考.突然想到可能是類型問題導(dǎo)致,發(fā)現(xiàn)手冊上有Types 介紹,所以正確的用法如下:

實例代碼如下:

  1. $query = array ('log.stamp' => array ('$gte' => new MongoInt64($time_range['start']), '$lt' => new MongoInt64($time_range['end']))); 

另外,在使用mapreduce進行數(shù)據(jù)統(tǒng)計時,為了防止cursor出現(xiàn)超時異常,還需要設(shè)置一下超時時間

實例代碼如下:

  1. $map = new MongoCode ( ' 
  2.                 function(){ 
  3.                     var prop_id=this.log.cstparam.proId; 
  4.                     var key=this.log.site+prop_id 
  5.                     emit(key,{"channel":this.log.site,"prop_id":prop_id,"count":1}); 
  6.                 } 
  7.                 ' ); 
  8.         $reduce = new MongoCode ( ' 
  9.                 function(key,emits){ 
  10.                     var total=0; 
  11.                     for(var i in emits){ 
  12.                         total+=emits[i].count
  13.                     } 
  14.                     return {"channel":emits[0].channel,"prop_id":eval(emits[0].prop_id),"count":total}; 
  15.                 } 
  16.                 ' ); 
  17. $this->mongo_db->command ( array ('mapreduce' => $collection_name'map' => $map'reduce' => $reduce'out' => $tmp_result'query' => $query),array('timeout'=>self::MONGO_CURSOR_TIMEOUT) ); 
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 一区二区福利 | 亚洲欧美日韩中文在线 | 国产精品嫩草影视久久久 | 偷偷操网站 | 国产精品日本一区二区不卡视频 | 欧美亚洲一区 | 国产日产亚洲精品 | 国产专区在线播放 | 亚洲欧美日韩另类精品一区二区三区 | 涩涩网页 | 麻豆传媒一区二区三区 | 欧美一级片 | 亚洲第一视频 | 国产一在线| 亚洲国产精品久久 | 亚洲精品在线观看网站 | 激情av网站 | 成人高清免费观看 | 九九九精品视频 | 黄色中文字幕 | 日韩精品影片 | 日韩欧美电影在线观看 | 亚洲一区久久久 | 日日夜夜亚洲 | 一区二区久久久 | 福利在线影院 | 日韩黄色片 | 国产精选视频 | 欧美日韩高清在线观看 | 免费成人在线观看视频 | 亚洲国产精品久久久 | 精品国产不卡一区二区三区 | 国产精品视频一二三区 | 中文字幕一区视频 | 国产成人精品综合 | 亚洲三区在线观看 | 91年国产电影大全免费观看 | 久久国产欧美一区二区三区免费 | 天天爽夜夜爽夜夜爽精品视频 | 午夜免费视频 | 国产区视频在线 |