我正在尝试在 rails 控制台中对我的数据运行更新,出于某种原因,更新一个属性会导致 Mongoid 将其他属性设置为 null:
1.9.3p194 :044 > User.first().cart.cartitems
=> [#<Cartitem _id: 5047eef3c8bafa761100001a, _type: nil, quantity: 1000, scentid: 1>]
1.9.3p194 :047 > User.first().cart.cartitems.where(scentid:1).update(quantity:100)
=> nil
1.9.3p194 :048 > User.first().cart.cartitems
=> [#<Cartitem _id: 5047ef65c8bafa761100001c, _type: nil, quantity: 100, scentid: nil>]
注意scentid 是如何设置为nil 的。我也尝试过使用 .set(:quantity, 100) ,但是当我再次查询 caritems 时,这种情况不会持续存在。
这是正常行为吗?
谢谢!