Монгоимпорт vs initializeOrderedBulkOp для CSV -> Коллекции - PullRequest
0 голосов
/ 11 января 2019

В моем скрипте импорта NodeJS для MongoDB я привык полагаться на выполнение ряда асинхронных команд mongoimport (путем вызова оболочки). Это было очень эффективно, и я мог легко импортировать 100 коллекций CSV-файлов в Коллекции одновременно.

Теперь я пытаюсь повторить то же асинхронное поведение с collection.initializeOrderedBulkOp:

  //Create collection and then
  var batch = col.initializeOrderedBulkOp()
  documents.forEach(doc => batch.insert(doc) )
  batch.execute()

Вопросы:

А) Предполагается, что это будет одинаково эффективно, как моноимпорт, или лучше придерживаться предыдущего метода?

B) Как мне изменить код, чтобы выполнить эту операцию как можно быстрее:

  1. Зацикливание на папке с тысячами CSV-файлов
  2. Для каждого CSV-файла: создать коллекцию MongoDB с тем же именем, что и файл
  3. Разобрать каждый CSV в JSON и вставить документы в новую коллекцию
...