mongoimport stopOnError option



根据mongodb文档,stopOnError选项强制mongoimport在出现第一个错误时停止导入操作,而不是在出现错误的情况下继续操作。

此选项适用的各种错误是什么?

我已经针对以下错误条件对其进行了测试:

  1. 已停止mongod实例。我得到以下错误,表明它丢失了和mongodb的连接。

    assertion: 10276 DBClientBase::findN: transport error: 127.0.0.1:15055 ns: admin.$cmd query: { getlasterror: 1 }
    
  2. 再次将同一文件导入到同一数据库和集合中。这应该会给我重复输入错误。尽管显示了错误,但导入不会停止。

    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状态?

stopOnError显式跳过重复的键错误,可以从https://github.com/mongodb/mongo/blob/master/src/mongo/tools/import.cpp#L314.我已提交https://jira.mongodb.org/browse/DOCS-1709让文档指定这一点。

相关内容

  • 没有找到相关文章

最新更新