Согласно документации mongodb опция stopOnError заставляет mongoimport останавливать операцию импорта при первой ошибке, а не продолжать работу, несмотря на ошибки.mongodb - mongoimport stopOnError option
Каковы различные ошибки, для которых эта опция работает?
Я испытал это на следующих условиях ошибки:
Остановил 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 работает только для сетевых ошибок или ошибок записи? Есть ли способ установить проблемы с записью или получить статус getLastError при использовании mongoimport?
Спасибо Шридхар. Любая идея о различных типах ошибок, для которых работает stopOnError? Я просто хочу быть уверенным, что если я использую mongoimport вместо объемной вставки, я получу фиксацию write commit так же ясно, как getLastError. – sonal
О, код импорта манго вызывает callLastError после каждой вставки. Спасибо. – sonal