2

埋め込みドキュメントとして多くのアクティビティを持つユーザードキュメントがあるとします。ユーザーがサイトで何かを行うたびに、アクティビティドキュメントが作成されます(例として)。

class User
  include Mongoid::Document
  has_many :activities
end

class Activity
  include Mongoid::Document
  field :action_executed_at, type: DateTime
  belongs_to :user
end

今日以降のアクティビティですべてのユーザーにクエリを実行したいと思います。これはMongoidで実行できますか?私は次のようなクエリを試しました:

User.where("activities.action_executed_at" => {"$gt" => DateTime.now.to_s})

そしてさえ:

User.where("activities" => {
  "$elemMatch" => { 
     "action_executed_at" => {
       "$gt" => DateTime.now.to_s 
      } 
   } 
})

しかし、彼らは常にコレクションを空にします。

4

1 に答える 1

2

これを試して

User.where(:'activities.action_executed_at'.gt => DateTime.now)
于 2012-09-24T19:22:42.210 に答える