我有一个csv
文件,我要将其数据导入我的mongodb
,但是我想让它指向一个特定的行号,它应该从{{1}开始导入数据文件。
现在我按以下方式导入它:
csv
我想从特定行号导入它的原因是因为开始几行是信息性的,但不需要插入到DB中。
mongoimport -d dbname -c collection_name --type csv --file filename.csv --headerline
所以我想从行SampleFile(2015),,,
,,,
,,,
,,,
,,,
Theme,Category,Topic
Automobile,Auto Brands,Acura
Automobile,Auto Brands,Aston Martin
中指出它。是否可以或者我必须为此手动编辑Theme,Category,Topic
文件。
答案 0 :(得分:1)
在unix或移植版本上,您可以使用tail
跳过文件中的行,因为mongoimport
会接受STDIN
作为--file
的替代。您可能还想为标题设置--fieldFile
,因为当您没有读取文件中的第一行时,--headerline
无法使用:
tail -n+<linesToSkip> | mongoimport -d dbname -c collectionname --type csv --headerfile headers.txt
注意那里的+
告诉尾部&#34;跳到那一行&#34;
如果您不想在Windows上安装任何其他内容,请使用for
:
for /f "skip=<linesToSkip> delims=\n" %i in (base.js) do @echo %i | | mongoimport -d dbname -c collectionname --type csv --headerfile headers.txt
在您的示例中,虽然只是跳过标题行的行,但仍然使用该选项。
所以只需将输入传递给STDIN
并允许mongoimport
将其填满。