0
我在写一个数据库测试(由摩卡拼命地跑),调用findOne保存文档后,发现一个奇怪的现象:猫鼬查询/插入无序错误?
伪这里: ...
test1
A.save(check('A',done));
test2
B.save(check('B',done));
test3
C.save(check('C',done));
...
check = function(name, done) {
theModel.findOne({name:name}, function(err,result) {
assert.notEqual(result,null);
result.remove(done);
});
}
然后,测试通过但B测试不合格。我检查日志,我发现一个奇怪的事情: 首先它执行插入,后查询,删除后(第一次测试,确定这是预期的行为)。 第一次测试后,我看到查询在插入之前执行(所以测试失败,没有任何东西被删除),我感到震惊。 第三等表现一样!查询在插入之前执行:(
因此,唯一通过的测试是第一个测试(如果我用B更改A,然后B通过,A不是)如果我查看mongodb集合,我可以看到另一个在查询后执行的插入(并且因为断言失败,它们被删除)
我正在使用猫鼬2.7.2,(但是我使用的是之前的版本,只是更新以查看它是否是一个已解决的错误) 。说明:(