ruby-on-rails - Mongoid:一次调用创建多个对象

标签 ruby-on-rails mongodb mongoid

我将从 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/

相关文章:

ruby-on-rails - Rails - 使用 .where 检查对象是否具有以特定字符开头的属性

java - 创建过程中返回空白对象的ID

ruby-on-rails - ruby on rails 服务器不会开始丢失设计文件

mongodb - 如何为大量文档组织大量时间-值对的 mongodb 数据库?

mongodb - 我应该在 mongodb 中对 bool 标志使用稀疏索引吗?

ruby-on-rails - 多个 mongoid 哈希值的原子 inc

mongodb - 操作方法 : User has fans

ruby - 如何验证嵌入字段是否在 before_save 上发生了变化?

ruby-on-rails - 有条件的HTTP基本身份验证

html - 使用下拉按钮和物化