在Mongoid documentation之后我试图将哈希数组传递给create
方法,但它会引发错误。
代码是:
Person.create([
{ first_name: "Heinrich", last_name: "Heine" },
{ first_name: "Willy", last_name: "Brandt" }
])
它会抛出以下错误:
NoMethodError: undefined method `keys' for #<Array:0xae4f69c>
运行:
mongoid-3.0.23
ruby 1.9.3
rails 3.2.13
答案 0 :(得分:2)
该功能是在Mongoid 3.1.0中引入的,在以前的版本中,create
方法只接受一个字段的哈希作为参数,以创建一个文档,因为你传递一个数组,你会得到错误。
如果要使用早于3.1.0版Mongoid的版本将一批文档插入集合中,可以使用Moped::Collection#insert
方法执行此操作,如下所示:
Person.collection.insert([
{ first_name: "Heinrich", last_name: "Heine" },
{ first_name: "Willy", last_name: "Brandt" }
])