首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MySQL到Mongo数据导出:如何保存创建日期?

问从MySQL到Mongo数据导出:如何保存创建日期?
EN

Stack Overflow用户
提问于 2011-10-16 03:43:26
回答 1查看 465关注 0票数 1

我正在尝试将MySQL表数据导出到MongoDB,在Rails中创建一组"Create“语句。

我的问题是:在我的原始表中,我有"created_at“和"updated_at”字段,即使在将数据导出到新的MongoDB文档时,我也希望保留原始值。但是,当我在Mongo中创建了一个新行之后,即使我告诉它设置"created_at“=我的原始日期,Mongo也会将它设置为当前的日期时间。

我怎样才能避免这种情况?这是我的MongoMapper模型:

代码语言:javascript
复制
class MongoFeedEvent
   include MongoMapper::Document

   key :event_type, String
   key :type_id, Integer
   key :data, String
   timestamps!

end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-16 04:05:25

您最好将MySQL表转储为JSON,然后使用mongoimport导入该JSON;这将比通过MongoMapper逐行导入要快得多,而且它将完全绕过您的问题,这是一个愉快的副作用。

有一个名为mysql2xxxx的gem可以帮助您将MySQL数据库转储到JSON

How to export a MySQL database to JSON?

我还没有用过它,但作者似乎一直在使用它,所以如果需要的话,你应该能够得到帮助。或者,编写一个快速的一次性脚本将数据转储到JSON。

一旦有了JSON,就可以用mongoimport导入它,并继续处理更有趣的问题。

此外,mongoimport了解CSV和mysqldump可以直接编写CSV:

mysqldump命令还可以生成CSV、其他分隔文本或XML格式的输出。

因此,对于数据传输,完全跳过MongoMapper和逐行复制。将您的数据转储到CSV或JSON,然后一次性导入所有数据。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7780213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档