10

尝试从命令行 (MongoDB) 导入或导出时: 例如:

> mongoimport --db denistest --collection things --type csv --file C:/Users/Administrator/Desktop/csv_data.csv

我收到“ JavaScript 执行失败:SyntaxError: Unexpected identifier ”错误?

这里有什么问题?

4

3 回答 3

27

我终于找到了问题所在。我在 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
于 2013-03-30T11:18:37.713 回答
1

使用您的示例数据,保存到一个名为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选项)

于 2013-03-28T12:50:01.940 回答
0

根据 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 URL(应该类似于 ds123456-a.mongolab.com)
  • 端口号(可能是 27799 或 2####)
  • 数据库用户(您必须在 mongolab 中进行设置)
  • 数据库密码(也可以在 mongolab 中设置)

然后,您可以使用以下字符串连接到 mongolab
mongo ds123456.mongolab.com:27799/dbname -u dbuser -p dbpassword

另请注意:就我而言,我通过 Heroku 插件设置了 mongolab。这意味着您必须通过 heroku 仪表板进行身份验证才能访问您的 mongolab db 用户/密码设置区域。在我能找到的任何地方都没有真正记录这些内容,所以我添加了这个答案来帮助下一个徘徊在这个烂摊子中的灵魂。

于 2016-02-22T04:24:15.040 回答