2

我正在尝试创建一个种子文件来填充我的 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
4

2 回答 2

6

你的第二种语法对我有用。

class User
  field :roles, type: Array, default: []
end

u = User.create roles: ['superadmin']
u.new_record? # => false
u.roles # => ["superadmin"]
于 2012-10-28T21:35:52.940 回答
3

试试这个:

class Foo
  include Mongoid::Document

  field :bar, :type => Array, :default => []
  field :baz, :type => Hash, :default => {}
end
于 2014-04-09T12:35:10.103 回答