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一个固定字符串,这样给了检测方还怎么匹配得了?

你可能感兴趣的:(mongo shell和export数据不同步?你吓到我了!)