天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

解析:使用php mongodb擴展時 需要注意的事項

最近在使用php的mongo 擴展進行數據統計計算,其中有一個時間戳字段,由于精確到了毫秒,長度有13位,但由于開始的時候是以字符串的形式存儲
復制代碼 代碼如下:
{ "_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 }

后來改成數字格式:
復制代碼 代碼如下:
{ "_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 }

為字符串時,使用下面的查詢是正常的
復制代碼 代碼如下:
$query = array ('log.stamp' => array ('$gte' => ‘1347346800000', '$lt' => ‘1347350400000'));

但是改為數字后,使用下面的查詢,死活沒有結果,但是直接在mongo客戶端直接查詢是有結果的:
復制代碼 代碼如下:
db.haozu_success.find({'log.stamp':{$gte:1347346800000,$lt:1347350400000}})

php手冊上也是這么個用法:
復制代碼 代碼如下:
$query = array ('log.stamp' => array ('$gte' => 1347346800000, '$lt' => 1347350400000));

花了好大一會找原因,開始時懷疑是php擴展的bug導致,經過一番思考。突然想到可能是類型問題導致,發現手冊上有Types 介紹,所以正確的用法如下:
復制代碼 代碼如下:
$query = array ('log.stamp' => array ('$gte' => new MongoInt64($time_range['start']), '$lt' => new MongoInt64($time_range['end'])));

另外,在使用mapreduce進行數據統計時,為了防止cursor出現超時異常,還需要設置一下超時時間
復制代碼 代碼如下:
$map = new MongoCode ( '
                function(){
                    var prop_id=this.log.cstparam.proId;
                    var key=this.log.site+prop_id
                    emit(key,{"channel":this.log.site,"prop_id":prop_id,"count":1});
                }
                ' );
        $reduce = new MongoCode ( '
                function(key,emits){
                    var total=0;
                    for(var i in emits){
                        total+=emits[i].count;
                    }
                    return {"channel":emits[0].channel,"prop_id":eval(emits[0].prop_id),"count":total};
                }
                ' );
$this->mongo_db->command ( array ('mapreduce' => $collection_name, 'map' => $map, 'reduce' => $reduce, 'out' => $tmp_result, 'query' => $query),array('timeout'=>self::MONGO_CURSOR_TIMEOUT) );

php技術解析:使用php mongodb擴展時 需要注意的事項,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产免费看黄的私人影院 | 樱花草在线观看影院 | 男人一进一出桶女人视频 | 国产精品女上位好爽在线短片 | 孕交videosgratis乌克兰 | 日日噜噜噜夜夜爽爽狠狠 | 秋霞午夜一级理论片久久 | 邓奴的视频IVK | 91福利国产在线观看网站 | 四虎国产精品永久一区高清 | 精品国产自在天天线2019 | 调教玩弄奶头乳夹开乳震动器 | 伦理片飘花免费影院 | 国产又黄又粗又爽又色的视频软件 | 老司机福利视频一区在线播放 | 亚洲色大成网站www久久九九 | 日欧一片内射VA在线影院 | 久久r视频 | 免费视频久久只有精品 | 折磨比基尼美女挠肚子 | 免费视频亚洲 | 尹人久久大香找蕉综合影院 | 在线精彩视频在线观看免费 | mxgs-877痉挛媚药按摩 | 老女人与小伙子露脸对白 | 777久久人妻少妇嫩草AV | 91热久久免费频精品99欧美 | 国产午夜在线精品三级a午夜电影 | 秘密教学26我们在做一次吧免费 | 亚洲高清国产拍精品5g | 日本男女动态图 | 午夜免费啪视频观看视频 | 在线观看国产精美视频 | 色小说在线| 99午夜视频 | 久久强奷乱码老熟女 | 内射白浆一区二区在线观看 | 成人天堂婷婷青青视频在线观看 | www.色片| 免费人成视频X8X8国产更快乐 | A级韩国乱理伦片在线观看 a级成人免费毛片完整版 |