“self”在这里代表接触模型。 此查询将查找联系人的所有已完成任务。 Task模型有一个字段/键:assigned_contacts类型为Array。 所以查询是在数组内搜索。
def assigned_tasks_completed
self.company.tasks.all(:assigned_contacts => self.id.to_s, :completed => true)
end
如何在Mongoid中执行此操作?
另一个问题: Mongoid of @ contact.set(:a - > a,:b - > b,:c - > c)中的等价物是update_attributes!
但Mongoid中还有一个方法集。 set& amp;有什么区别? update_attributes方法!在Mongoid?
答案 0 :(得分:0)
我认为你的任务是一个单独的文件。因此,您只需将all
替换为where
即可,
def assigned_tasks_completed
self.company.tasks.where(:assigned_contacts => self.id.to_s, :completed => true)
end
关于你的另一个问题,
mongoid set& update attributes内部使用mongodb $set。但不同的是mongoid set只接受单个字段更新,update_attributes接受多个。