2013-07-12 44 views
0

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 

回答

2

這個功能是在Mongoid 3.1.0介紹,在以前的版本create方法只接受一個有h的字段作爲參數,創建一個文檔,因爲您正在傳遞一個數組,所以出現錯誤。

如果你想使用比Mongoid的3.1.0舊的版本中插入一個批處理文件到一個集合,你可以使用Moped::Collection#insert方法,這樣做:

Person.collection.insert([ 
    { first_name: "Heinrich", last_name: "Heine" }, 
    { first_name: "Willy", last_name: "Brandt" } 
]) 
+0

完美的作品。非常感謝! – user1032752