2011-12-24 2 views
0

"self"는 Contact 모델을 나타냅니다. 이 쿼리는 연락처에 대해 완료된 모든 작업을 찾습니다. 작업 모델에는 Array 유형의 필드/키 : assigned_contacts가 있습니다. 그러면 쿼리가 배열 내부를 검색합니다.MongoMapper to Mongoid : 배열 내부를 검색하는 방법?

def assigned_tasks_completed 
    self.company.tasks.all(:assigned_contacts => self.id.to_s, :completed => true) 
end 

몽고이 (Mongoid)에서 어떻게 수행할까요?

다른 질문 : @ contact.set (: a -> a, : b -> b, : c -> c)의 몽고 이드에 해당하는 것은 update_attributes!

그러나 몽고이드 (Mongoid)에 설정된 방법도 있습니다. 세트 & update_attributes와 (과)의 차이점은 무엇입니까? 몽고 이드로?

답변

0

귀하의 작업이 별도의 문서라고 가정합니다. 그냥 whereall을 교체 할 수 있도록, 그것은 당신의 다른 질문에 대해

def assigned_tasks_completed 
    self.company.tasks.where(:assigned_contacts => self.id.to_s, :completed => true) 
end 

작동합니다

은 모두 set & update attributes 내부적 mongodb $set가 사용됩니다 mongoid. 하지만 차이점은 mongoid set은 단일 필드 업데이트만을 허용하고 update_attributes는 multiple을 허용합니다.

관련 문제