mongo shell和export數據不同步?你嚇到我了!

1. 你敢相信 mongoexport 無法查到數據 , 但是 mongo shell可以查到數據的情況嗎?

2. 持續十分鐘,導出一個活動的點擊時,發現無論如何操作都是,shell可以顯示,alias里面使用mongoexport就是沒有結果?

3. 我納悶了。free看了一下mongo服務器,5G的cached內存。

難道mongo還要分數據有沒有從內存同步到硬盤嗎?

4. 于是在測試服務器上,聲明一個對象報存mongo shell顯示的一條點擊,然后 db.click_20170711.insert(click3137).

5. 現在導出測試服務器上的:

mongoexport --port 37017 -d mclog -c click_20170711 -q "{_id:/^3137.*$/}" -o 3137_click_20170711_export.txt

結果還是沒有!

6. 然后測試服務器上執行 sync;echo 3 > /proc/sys/vm/drop_caches

再次導出數據,怎么還是沒有?!

7. 就在我要瘋了的時候哦,一眼看到點擊記錄里:

"clickid" : "clickid_21",

怎么會有這樣的clickid?這時作死嗎?!

8. 然后檢查alias立馬發現,alias為了兼容之前的透傳,查找時使用的時clickid上的索引,結果怎么都對應不上活動的id??!

shell里面查找使用的是_id上的索引,當然找到了啊!

9. 服了這家渠道!測試時,讓傳cid,結果胡亂給clickid一個固定字符串,這樣給了檢測方還怎么匹配得了?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容