如何在Windows PowerShell中使用mongoimport?

时间:2019-06-17 08:17:07

标签: mongodb powershell mongoimport

如何使用Windows PowerShell将数据加载到MongoDB?

我已经在装有Windows的计算机上安装了MongoDB。 它在路径中: “ C:\ Program Files \ MongoDB \ Server \ 4.0 \ bin \”。 我已经在C驱动器上创建了所需的文件夹\ data \ db。我已经启动了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中存储文件的文件夹中执行它。

显示错误消息:

  

错误验证设置:仅允许使用一个位置参数   尝试“ mongoimport --help”以获取更多信息

2 个答案:

答案 0 :(得分:1)

您不得在参数名称中省略连字符,而且我不确定冒号是否有效。

$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

在这种情况下,无论您使用splatting(@params)还是常规参数传递($params,我都认为这没有区别。

答案 1 :(得分:0)

参数作为单个项包含在数组中:

$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