尝试从命令行 (MongoDB) 导入或导出时: 例如:
> mongoimport --db denistest --collection things --type csv --file C:/Users/Administrator/Desktop/csv_data.csv
我收到“ JavaScript 执行失败:SyntaxError: Unexpected identifier ”错误?
这里有什么问题?
尝试从命令行 (MongoDB) 导入或导出时: 例如:
> mongoimport --db denistest --collection things --type csv --file C:/Users/Administrator/Desktop/csv_data.csv
我收到“ JavaScript 执行失败:SyntaxError: Unexpected identifier ”错误?
这里有什么问题?
我终于找到了问题所在。我在 mongo.exe 中执行我的命令。(我打开 C:\mongodb\bin>mongo 并执行了我的命令)
C:\mongodb\bin>mongo
MongoDB shell version: 2.4.0
connecting to: test
>
> mongoimport --db denistestcsv --collection things --type csv --fields First,La
st,Visits,Location,Number,Url,Letter --file E:\temp\csv1.csv
但这是错误的。正确的方法是去mongo => bin => 然后不输入mongo.exe就执行命令
C:\mongodb\bin>mongoimport --db denistestcsv --collection things --type csv --fi
elds First,Last,Visits,Location,Number,Url,Letter --file E:\temp\csv1.csv
使用您的示例数据,保存到一个名为csv1.csv
:
"denis","omeri","21","Tirana","1","http:/google.com","m"
"olgert","llojko","20","Prrenjas","2","http:/facebook.com","m"
我运行了以下命令行(为了便于阅读,在这里拆分,使用虚构的字段名称):
mongoimport --db test
--collection things
--type csv
--fields First,Last,Visits,Location,Number,Url,Letter
--file d:\temp\csv1.csv
它成功导入:
connected to: 127.0.0.1
Thu Mar 28 07:43:53.902 imported 2 objects
在things
数据库中:
> db.things.find()
{ "_id" : ObjectId("51543b09d39aaa258e7c12ee"),
"First" : "denis", "Last" : "omeri", "Visits" : 21,
"Location" : "Tirana",
"Number" : 1, "Url" : "http:/google.com", "Letter" : "m" }
{ "_id" : ObjectId("51543b09d39aaa258e7c12ef"),
"First" : "olgert", "Last" : "llojko", "Visits" : 20,
"Location" : "Prrenjas",
"Number" : 2, "Url" : "http:/facebook.com", "Letter" : "m" }
(由于某种原因,我无法在 2.4 中为 CSV 文件获取标题行选项,但在命令行上指定字段的选项也可以使用。您还可以使用仅包含字段名称的文件使用命令行fieldFile
选项)
根据 Dennis Omeri 的回答,我在尝试通过 CLI 与 mongolab MongoDB 实例建立远程连接时遇到了类似的问题。我也必须从 MongoDB 的文件夹中运行命令bin
,但这并不像他的回答看起来那么简单。
就我而言,我mongodb
是通过 OSX 上的 homebrew 安装的(brew install mongodb
假设你已经安装了 homebrew)。这将我的 mongo 系统文件放入:(/usr/local/cellar/mongodb/3.0.3/bin
在您的 mongo 版本中,路径应该是好的)。
然后,找到以下项目:
然后,您可以使用以下字符串连接到 mongolab
mongo ds123456.mongolab.com:27799/dbname -u dbuser -p dbpassword
另请注意:就我而言,我通过 Heroku 插件设置了 mongolab。这意味着您必须通过 heroku 仪表板进行身份验证才能访问您的 mongolab db 用户/密码设置区域。在我能找到的任何地方都没有真正记录这些内容,所以我添加了这个答案来帮助下一个徘徊在这个烂摊子中的灵魂。