所以我对MongoDB不太了解。 我使用RoboMongo来连接到MongoDB。 我需要做的是-该MongoDB中有一个集合。 我想从该集合中导出数据,以便将其保存到文件中。
我使用该界面以文本形式打开集合中的数据,并进行了CTRL + A并粘贴到文本文件中。 但是,我发现并非所有数据都被复制,并且文本数据中有很多注释自然会破坏JSON。
我想知道RoboMongo是否具有Export As JSON工具,以便我可以进行干净导出。
任何指针表示赞赏!
您要导出特定集合或完整数据库吗?
这不是Robomongo的当前功能,但是我已经在github问题队列中添加了功能建议:添加JSON导出。 普遍建议应该将导入/导出集成在一起,但是更详细/实际的使用案例将有所帮助。 例如,这是否应支持从集合,查找查询,聚合管道中导出JSON? 当前,最好的选择是使用标准的mongoexport命令行工具。
@Stennie-谢谢您的评论。 我想回答您的问题-从客户体验的角度来看,这并不重要。 在大多数其他数据库接口中,流程是您运行查询(使用或不使用critera),并获得一组结果。 右键单击并说"导出结果为...",因此此处同样适用。 无论是导出整个集合还是查找查询都没有关系。 如果结果可以显示在面板中,则它应该是可导出的。
您可以使用tojson在MongoDB Shell脚本中将每个记录转换为JSON。
在RoboMongo中运行以下脚本:
var cursor = db.getCollection('foo').find({}, {});
while(cursor.hasNext()) {
print(tojson(cursor.next()))
}
这会将所有结果打印为类似JSON的数组。
结果不是真正的JSON!日期和对象ID之类的某些类型被打印为JavaScript函数调用,例如ISODate("2016-03-03T12:15:49.996Z")。
对于大型结果集可能不是很有效,但是您可以限制查询。或者,您可以使用mongoexport。
它输出无效的json。只是json序列化记录一个接一个
对于许多用例,可以使用tojson(d