2011-12-24 8 views
0

ここで「自己」はコンタクトモデルを表します。 このクエリは、連絡先の完了したすべてのタスクを検出します。 タスクモデルには、配列型のフィールド/キー:assigned_contactsがあります。 したがって、クエリは配列内を検索しています。MongoMapperから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)のMongoidに相当するものは、update_attributesです!

しかし、Mongoidに設定されているメソッドもあります。 セット& update_attributesの違いは何ですか?モンゴイドで?

答えて

0

私はあなたの仕事が別の文書であると仮定します。だから、あなたはそれがあなたの他の質問について

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

に動作します、whereallを置き換えることができ、

の両方がset & update attributesをmongoid内部mongodb $setを使用しています。しかし、違いはmongoid setは単一フィールド更新のみを受け付け、update_attributesはmultipleを受け付けます。

関連する問題