我有一个存储在 Mongo 中的 1 亿条推文数据集,未优化且未编入索引。
我需要将上个月的所有推文复制到另一台服务器上,最好的方法是什么?
我的想法是使用 Ruby 脚本提取相关推文并将其复制到服务器上的新数据库中,然后运行 mongo copyDatabase 命令将其复制过来。不过它的时间很长,还有其他方法吗?
require 'mongo_mapper'
MongoMapper.database = 'twitter'
require './models'
tweets = TwitterTweet.where(:created_at => {"$gt" => 1.month.ago}).all; # about 15 million
MongoMapper.database = 'monthly'
# copy the tweets over to the new db
tweets.each do |tweet|
tweet.save!
end;