为什么在使用has_many时无法多次推送记录?
class Template
include Mongoid::Document
has_and_belongs_to_many :widgets, inverse_of: nil
尝试添加重复项:
(rdb:387) self.widgets.push(Widget.first)
[BSON::ObjectId('4f7096776c51c8135000000d')]
(rdb:387) self.widgets.push(Widget.first)
[BSON::ObjectId('4f7096776c51c8135000000d')]
(rdb:387) self.widgets.count
1
答案 0 :(得分:0)
Internaly,Mongoid使用密钥$addToSet
将您的新文档关联起来。所以这个关键字避免了列表中元素的重复。因此,您无法与has_and_belongs_to_many多次使用相同的文档。
如果您需要此行为,请执行拉取请求或功能请求。但我认为可以选择允许这样做。