Как использовать mongoimport в Windows PowerShell?

Как загрузить данные в MongoDB с помощью Windows PowerShell?

Я установил MongoDB на компьютер с Windows. Он находится на пути: "C:\Program Files\MongoDB\Server\4.0\bin\". Я создал нужную папку \data\db на диске C. Я запустил mongod.exe, и он работает. Я хотел бы загрузить файл CSV в базу данных MongoDB.

Используя команду .\mongoimport.exe --help, мы можем заметить, что в PowerShell для загрузки данных в MongoDB мы используем не дефис-минус, а двоеточие. Я создал этот код:

$params = 'db:', 'db_name',
          'collection:', 'collection_name',
          'type:', 'file_type',
          'file:', 'file_name',
          'headerline'
& "C:\Program Files\MongoDB\Server\4.0\bin\mongoimport.exe" @params

и пытаюсь выполнить его в PowerShell в папке, где хранится файл.

Отображается сообщение об ошибке:

error validating settings: only one positional argument is allowed try 'mongoimport --help' for more information

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
0
2 679
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Параметры включаются как один элемент в массив:

$params = @(
    'db:db_name',
    'collection:collection_name',
    'type:file_type',
    'file:file_name',
    'headerline'
)

&"C:\Program Files\MongoDB\Server\4.0\bin\mongoimport.exe" @params
Ответ принят как подходящий

Вы не должны опускать дефисы в именах параметров, и я не уверен, что двоеточия допустимы.

$params = '--db', 'db_name',
          '--collection', 'collection_name',
          '--type', 'file_type',
          '--file', 'file_name',
          '--headerline'
& 'C:\Program Files\MongoDB\Server\4.0\bin\mongoimport.exe' $params

Я не думаю, что в этом случае имеет значение, используете ли вы разбрызгивание (@params) или обычную передачу аргументов ($params).

Действительно, очень странно. Я нашел ваш старый пост, где я скопировал код и обновил его в соответствии со своими потребностями. Не работал (был с дефисами). Я удалил их, и, насколько я помню, я смог загрузить данные, но не смог их воспроизвести :). Этот код, размещенный здесь, работает ;) с дефисами. Я не понимаю.

Supek 17.06.2019 10:52

Другие вопросы по теме