我有这两个 mongo 命令,在我看来应该会导致相同的结果:
for(var i=0;i<1000;i++){db.test.insert({a:1}); db.getLastError({j:1, w:1});};
for(var i=0;i<1000;i++){db.test.insert({a:1}); db.runCommand({getLastError:1, j:1, w:1});};
两个命令都正确执行插入,但是,第二个命令慢 100 倍(500 毫秒对 45 秒)。有谁知道,为什么会这样?仅当设置 {j:1} 时才存在差异,因此它可能与某些日志问题有关?