我的模型定义如下:
class Foo
include ::Mongoid::Document
field :name, type: String
field :followed_bars, type: Array
field :favorite_bars, type: Array
end
我创建了一个这样的Foo对象:
foo = Foo.new(name: "Test")
foo.save
在我键入db.foo.find()的数据库中,我可以看到刚刚创建的对象。 然后,在我的应用程序中,我正在尝试这样做:
foo = Foo.first
foo.push(:followed_bars, "hello")
每次我收到错误: ArgumentError:错误的参数数量(2对1)
我不确定我在这里错过了什么?
提前感谢您的帮助!
问候。
答案 0 :(得分:21)
我刚刚找到了如何对mongoid数组进行推送。
在API文档中,他们举了一个例子(mongoid 3.x):
Model#push person.push(:aliases, "007")
我正在使用mongoid 4.0.0并且他们更改了方法定义,现在我们必须使用新语法,所以我必须写:
foo.push(aliases: "test")
问题解决了。