根据 mongodb 文档,stopOnError 选项强制 mongoimport 在第一个错误时停止导入操作,而不是在出现错误时继续操作。
此选项适用于哪些各种错误?
我已经针对以下错误情况对其进行了测试:
停止了 mongod 实例。我收到以下错误,表明它失去了与 mongodb 的连接。
assertion: 10276 DBClientBase::findN: transport error: 127.0.0.1:15055 ns: admin.$cmd query: { getlasterror: 1 }
再次将相同的文件导入相同的数据库和集合。这应该给我重复输入错误。虽然显示了错误,但导入并未停止。
Mon Jul 15 16:28:40.652 E11000 duplicate key error index: users.contacts_2.$_id_ dup key: { : "xexjiroiqcwujiuxrmedntmxhalniwygdyplrfvkjvfugdvxpadfvpferqtaquht" } Mon Jul 15 16:28:40.652 check 9 11 Mon Jul 15 16:28:40.652 E11000 duplicate key error index: users.contacts_2.$_id_ dup key: { : "uyioegyqcenijjickljgdpmvihvyefvyfenjkmcptqafalhmwrvbjkwrtutybpxg" } Mon Jul 15 16:28:40.652 imported 10 objects
现在,我很困惑。stopOnError 仅适用于网络错误还是也适用于写入错误?有什么方法可以在使用 mongoimport 时设置写入问题或获取 getLastError 状态?