坏BSON文档:使用Node MongoDB驱动程序的非法CString

我收到:

[Error: Bad BSON Document: illegal CString]

使用Node MongoDB驱动程序时,使用Cursor.each遍历我的一个集合。 这似乎使我的一些文件消失,并没有在集合中find,即使他们单独访问,当我使用Collection.findOne()查找它们。

这是否意味着我的数据以某种方式损坏?

感谢@wdberkeley对上述评论的所有帮助,这帮助我追踪了我的问题。

事实certificate,我的collections中确实有一个损坏的文档,这是在Mongo不干净closures期间插入的。 我不知道这个文件将如何影响我的其他问题。

当你执行一个collection.find() ,然后开始在集合上使用游标进行迭代时,如果遇到错误,光标将停止并且无法继续,如[Error: Bad BSON Document: illegal CString]

这与cursor.forEachcursor.nextObject 。 因此,即使我能够通过collection.findOne单独访问这些文档,我仍然无法访问集合中出现错误之后的任何文档。

在这种情况下唯一的解决scheme是运行db.repairDatabase ,它删除了损坏的文件,并解决了我的问题。