背景
在使用Robomongo進(jìn)行查詢時, 經(jīng)常遇到執(zhí)行結(jié)果不完整的問題, 即一個循環(huán)保存, 比如應(yīng)該執(zhí)行1000次, 結(jié)果只執(zhí)行了200次, 而且沒有任何錯誤報出, 這其實是因為Robomongo執(zhí)行超時了, 默認(rèn)為10秒
解決方案
- 找到配置文件
Windows
大于0.8
C:\Users<user>.config\robomongo\x.x.x\robomongo.json
0.8.x
C:\Users<user>.config\robomongo\robomongo.json
MAC
大于0.8
/Users/<user>/.config/robomongo/x.x.x/robomongo.json
0.8.x
/Users/<user>/.config/robomongo/robomongo.json
Linux
大于0.8
/home/<user>/.config/robomongo/x.x.x/robomongo.json
0.8.x
/home/<user>/.config/robomongo/robomongo.json
- 修改shellTimeoutSec值, 為60或更高, 單位為秒
- 保存后, 重新打開Robomongo
如果就是需要很長時間, 可以考慮使用批操作執(zhí)行
var bulk = db.xxx.initializeUnorderedBulkOp();
db.xxx.find({}).forEach(function(obj){
bulk.find( { _id: obj._id } ).update({ $set: { xxx: obj.xxx} });
// or
bulk.insert(obj);
});
bulk.execute();