我将从 Twitter 检索 1000 个用户,我想一次性保存他们,而不是单独进行 1000 次插入。
如何在 Mongoid 上做到这一点?像这样的东西会摇滚:
TwitterUser.createMany([{:name=>u1}, {:name=>u2},{:name=>u3}] )
最佳答案
您应该使用 Mongo ruby 驱动程序来执行此操作。您可以将哈希数组传递给 insert
method一次创建多个文档(有关此 google groups discussion 的更多信息)。 Mongoid 使访问 ruby 驱动程序变得容易。
代码如下所示:
user_list = twitter_accounts.map do |account|
# create a hash of all the fields to be stored in each document
{ 'name' => account.name,
'username' => account.username
# some other fields...
}
end
Mongoid.master['twitter_users'].insert(user_list)
关于ruby-on-rails - Mongoid:一次调用创建多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4375870/