Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我得到了以下文件
{ a: { b: { c1: 1, c2: 2 } } }
我只想将 c1 原子地修改为 8
我愿意document.set('a.b.c1': 8),但 'b' 的整个值变为{c1:8}.
document.set('a.b.c1': 8)
{c1:8}
这是我的课
class C include Mongoid::Document field :a, type: Hash end
这是为什么?
这似乎是 Mongoid 5 中的一个错误(由 Neil 发现)。以下是你现在可以避开这个的方法(直到你升级):
C.where(id: object_id).update('a.b.c1' => 5)
链接的 jira 票证中有另一种解决方法。