Mongodb导入和导出到csv

Mongodb导入和导出到csv,mongodb,Mongodb,尝试从命令行(MongoDB)导入或导出时:例如: > mongoimport --db denistest --collection things --type csv --file C:/Users/Administrator/Desktop/csv_data.csv 我收到“JavaScript执行失败:语法错误:意外标识符”错误 这里出了什么问题?使用示例数据,将其保存到名为csv1.csv的文件中: "denis","omeri","21","Tirana","1","http

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

> mongoimport --db denistest --collection things --type csv --file C:/Users/Administrator/Desktop/csv_data.csv
我收到“JavaScript执行失败:语法错误:意外标识符”错误


这里出了什么问题?

使用示例数据,将其保存到名为
csv1.csv的文件中:

"denis","omeri","21","Tirana","1","http:/google.com","m" 
"olgert","llojko","20","Prrenjas","2","http:/facebook.com","m"
我运行了以下命令行(为了可读性在这里拆分,并使用组成的字段名):

并成功导入:

connected to: 127.0.0.1
Thu Mar 28 07:43:53.902 imported 2 objects
事物中
DB:

> 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
命令行选项)

我终于找到了问题。我正在mongo.exe中执行命令。(我打开了C:\mongodb\bin>mongo并执行了我的命令)

但这是错误的。正确的方法是转到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

基于Dennis Omeri的回答,我在尝试通过CLI远程连接到mongolab MongoDB实例时遇到了类似的问题。我也不得不从MongoDB的
bin
文件夹中运行该命令,但这并不像他的回答看起来那么简单

在我的例子中,我通过OSX上的homebrew安装了
mongodb
brew安装mongodb
假设您安装了homebrew)。这将我的mongo系统文件放入:
/usr/local/cillar/mongodb/3.0.3/bin
(在您的mongo版本中,sub和路径应该是良好的)

然后,找到以下项目:

  • 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用户/pw设置区域。所有这些都没有在我能找到的地方被记录下来,所以我添加了这个答案来帮助下一个陷入混乱的灵魂。

你的CSV文件中的几行是什么样子的?“丹尼斯”、“奥梅里”、“21”、“地拉那”、“1”、“http:/google.com”、“m”“奥尔格特”、“洛伊科”、“20”、“普伦哈斯”、“2”、“http:/facebook.com”、“m”如果你只是尝试一下这些行,它会起作用吗?你有没有尝试过这个建议:我用这两行代码创建了一个新的csv文件,但仍然不起作用。其他命令(如show databases、use、find etc)已成功执行。是否有一行字段名?Thnx以获取帮助。我不明白这里出了什么问题,我做了和你一样的事情,我仍然得到“JavaScript执行失败:语法错误:意外标识符”相同的确切字段、显示的数据和命令行不工作?MongoDb的哪个版本?这是另一个问题,我已经在下面的评论中发布了它。我执行错误了。非常感谢你的帮助…谢谢分享。这帮助了我这样的新手。太好了!!它帮助了我,它帮助我跨过了第一阶段。让我来解决另一个问题。非常感谢。
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
C:\mongodb\bin>mongoimport --db denistestcsv --collection things --type csv --fi
elds First,Last,Visits,Location,Number,Url,Letter --file E:\temp\csv1.csv