我目前在Heroku此Web应用程序,花费主要是逗号分隔值的纯文本(或其他分隔符分隔值),用户副本,和粘贴在网页表单和应用程序将随后获得的数据从每一行,并保存到一个mongo分贝。质量插入mongoid
例如45nm, 180, 3
44nm, 180, 3.5
45nm, 90, 7
...
@project = Project.first # project embeds_many :simulations
@array_of_array_of_data_from_csv.each do |line|
@project.simulations.create(:thick => line[0], :ang => line[1], :pro => line[2])
#e.g. line[0] => 45nm, line[1] => 180, line[2] => 3
end
为这个应用程序的目的
,我不能让用户做任何形式的进口,我们必须从一个textarea从他们那里得到的数据。每次,用户可以粘贴多达30,000行。我想这样做(30,000个数据点)在Heroku上有一些假的数据在一个控制台,决定终止说一个漫长的过程不是在控制台支持,尽量耙任务来代替。
所以我想知道是否有人知道插入30,000个文档需要这么长时间(当然,这可能就是这样),或者知道另一种方法来快速插入30,000个文档?
感谢您的帮助
嘿感谢那个链接,我只是试了一下,插入集合时它非常快。但是这里有一个问题:因为我没有将大量文档插入到一个集合中,而是将很多嵌入式文档插入到一个根文档中。你知道有那么快的类似漂亮的mongo驱动程序命令吗? – 2011-02-24 03:36:34
@尼克,有什么区别?这样做的插入/更新的服务器上的各个操作应该是缓慢的一部分......如果你在×1次插入一批30,000或只是一个大文件*应采取大致相同的时间? – 2011-02-24 18:29:02