如何使用Mongomapper一次插入多条记录?

时间:2015-07-07 11:59:50

标签: ruby mongodb mongomapper

Mongmapper让我可以轻松地创建一个新记录

Track.create!({:name => "Obla di"})

虽然我无法弄清楚如何一次插入多个

tracks = [{:name => "Obla di"}, {:name => "She Sang di"}]
Track.create!(tracks)

我知道我可以循环遍历数组并一次插入一个但我更愿意只在一行中执行

1 个答案:

答案 0 :(得分:1)

.create!类方法实际上是takes multiple args。它使用任意arity而不是采用一个数组参数。

您可以使用splat运算符执行此操作:

tracks = [{:name => "Obla di"}, {:name => "She Sang di"}]
Track.create!(*tracks)

注意:从代码中可以看出,这只是糖。 MongoMapper仍然为每个文档插入一个。