我正在尝试创建一个种子文件来填充我的mongo数据库。当我尝试定义数组字段值时,以下语法创建nil
值。我正在使用mongoid v3.0.9。我究竟做错了什么?
以下示例在我将它们放入种子文件时不起作用:
User.create(name:'name', test_array_field:'[123,123]')
User.create(name:'name', test_array_field:[123,123])
User.create(name:'name', test_array_field:[123,123].to_a)
我在课堂上定义了这样的字段:
field :test_array_field, type: Array
答案 0 :(得分:6)
你的第二种语法对我有用。
class User
field :roles, type: Array, default: []
end
u = User.create roles: ['superadmin']
u.new_record? # => false
u.roles # => ["superadmin"]
答案 1 :(得分:2)
试试这个:
class Foo
include Mongoid::Document
field :bar, :type => Array, :default => []
field :baz, :type => Hash, :default => {}
end