1. 你敢相信 mongoexport 無(wú)法查到數(shù)據(jù) , 但是 mongo shell可以查到數(shù)據(jù)的情況嗎?
2. 持續(xù)十分鐘,導(dǎo)出一個(gè)活動(dòng)的點(diǎn)擊時(shí),發(fā)現(xiàn)無(wú)論如何操作都是,shell可以顯示,alias里面使用mongoexport就是沒(méi)有結(jié)果?
3. 我納悶了。free看了一下mongo服務(wù)器,5G的cached內(nèi)存。
難道m(xù)ongo還要分?jǐn)?shù)據(jù)有沒(méi)有從內(nèi)存同步到硬盤嗎?
4. 于是在測(cè)試服務(wù)器上,聲明一個(gè)對(duì)象報(bào)存mongo shell顯示的一條點(diǎn)擊,然后 db.click_20170711.insert(click3137).
5. 現(xiàn)在導(dǎo)出測(cè)試服務(wù)器上的:
mongoexport --port 37017 -d mclog -c click_20170711 -q "{_id:/^3137.*$/}" -o 3137_click_20170711_export.txt
結(jié)果還是沒(méi)有!
6. 然后測(cè)試服務(wù)器上執(zhí)行 sync;echo 3 > /proc/sys/vm/drop_caches
再次導(dǎo)出數(shù)據(jù),怎么還是沒(méi)有?!
7. 就在我要瘋了的時(shí)候哦,一眼看到點(diǎn)擊記錄里:
"clickid" : "clickid_21",
怎么會(huì)有這樣的clickid?這時(shí)作死嗎?!
8. 然后檢查alias立馬發(fā)現(xiàn),alias為了兼容之前的透?jìng)?,查找時(shí)使用的時(shí)clickid上的索引,結(jié)果怎么都對(duì)應(yīng)不上活動(dòng)的id??!
shell里面查找使用的是_id上的索引,當(dāng)然找到了?。?/p>
9. 服了這家渠道!測(cè)試時(shí),讓傳cid,結(jié)果胡亂給clickid一個(gè)固定字符串,這樣給了檢測(cè)方還怎么匹配得了?