Javascript mongoose查询/插入无序错误?

Javascript mongoose查询/插入无序错误?,javascript,node.js,mongodb,mongoose,mocha.js,Javascript,Node.js,Mongodb,Mongoose,Mocha.js,我正在编写一个DB测试(由Mocha运行),保存文档后调用findOne,发现一个奇怪的行为: 此处为伪代码: 然后,A测试通过,但B测试不通过。我查看了日志,发现了一件奇怪的事情: 首先,its在查询之后、删除之后执行插入(对于第一个测试,ok,这是预期的行为)。 在第一次测试之后,当我看到在插入之前执行了查询时,我感到震惊(因此测试失败,没有删除任何内容)。 第三个等的行为方式相同!在插入之前执行查询:( 因此,唯一通过的测试是第一个测试(如果我用B更改A,则B通过,A不通过)。如果我查看

我正在编写一个DB测试(由Mocha运行),保存文档后调用findOne,发现一个奇怪的行为:

此处为伪代码:

然后,A测试通过,但B测试不通过。我查看了日志,发现了一件奇怪的事情: 首先,its在查询之后、删除之后执行插入(对于第一个测试,ok,这是预期的行为)。 在第一次测试之后,当我看到在插入之前执行了查询时,我感到震惊(因此测试失败,没有删除任何内容)。 第三个等的行为方式相同!在插入之前执行查询:(

因此,唯一通过的测试是第一个测试(如果我用B更改A,则B通过,A不通过)。如果我查看mongodb集合,我可以看到在查询之后执行的其他插入(由于assert失败,它们没有被删除)

我使用的是mongoose 2.7.2(但我使用的是以前的版本,只是更新了一下,看看它是否是一个已解决的bug)

我没有注意到在调用save之前我实际上调用了check(因为我调用的是save方法中的函数……我太笨了,对javascript还不熟悉)

好的,我应该用另一种方式进行检查:

A.save(function(err, result) { check('A', done);})
我道歉

A.save(function(err, result) { check('A', done);})