嵌套哈希中的 Mongoid 'set' 值
Mongoid 'set' value in nested hash
我得到了以下文件
{ a: { b: { c1: 1, c2: 2 } } }
我只想将 c1 自动修改为 8
我做 document.set('a.b.c1': 8)
,但 'b' 的整个值更改为 {c1:8}
。
这是我的class
class C
include Mongoid::Document
field :a, type: Hash
end
这是为什么?
这似乎是 Mongoid 5 中的一个错误(由 Neil 发现)。现在您可以通过以下方式回避此问题(直到您升级):
C.where(id: object_id).update('a.b.c1' => 5)
链接的 jira 票证中有一个替代解决方法。
我得到了以下文件
{ a: { b: { c1: 1, c2: 2 } } }
我只想将 c1 自动修改为 8
我做 document.set('a.b.c1': 8)
,但 'b' 的整个值更改为 {c1:8}
。
这是我的class
class C
include Mongoid::Document
field :a, type: Hash
end
这是为什么?
这似乎是 Mongoid 5 中的一个错误(由 Neil 发现)。现在您可以通过以下方式回避此问题(直到您升级):
C.where(id: object_id).update('a.b.c1' => 5)
链接的 jira 票证中有一个替代解决方法。