我有一个这样定义的模型:
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)
我不确定我在这里错过了什么?
在此先感谢您的帮助!
问候。
最佳答案
我刚刚找到了如何对 mongoid 数组进行推送。
在 API 文档中,他们给出了一个示例(mongoid 3.x):
Model#push person.push(:aliases, "007")
我正在使用 mongoid 4.0.0,他们更改了方法定义,现在我们必须使用新的语法,所以我不得不写:
foo.push(aliases: "test")
问题就这样解决了。
关于ruby-on-rails - 将项目插入mongoid数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18683148/