通过一次操作存储mongoid文档的集合

时间:2015-08-05 16:10:04

标签: ruby-on-rails mongoid moped

使用Moped gem时,我可以使用以下内容存储哈希数组:

users = [{username: "ben", password: "123456", type: "admin" }, {username: "joe", password: "abcd1234" }]
Mongoid::Sessions.default["collection"].insert(users)

使用mongoid文档,它看起来像:

class User
  field :username, type: String
  field :password, type: String
end

users.each { |user_hash| User.create(user_hash) }

这意味着每个插入操作。 你知道一种保持单一操作方法的方法吗?也许类似于ActiveRecord中的交易?

1 个答案:

答案 0 :(得分:1)

您可以将文档转换回哈希,并通过一次调用将其插入#create

User.create(users.map(&:attributes))