Reputation: 4775
Suppose I have a user document who has many activities as an embedded document. Every time a user does something on the site an activity document is created (as an example).
class User
include Mongoid::Document
has_many :activities
end
class Activity
include Mongoid::Document
field :action_executed_at, type: DateTime
belongs_to :user
end
I now want to query all the users with an activity after today. Can this be done with Mongoid? I tried queries like:
User.where("activities.action_executed_at" => {"$gt" => DateTime.now.to_s})
And even:
User.where("activities" => {
"$elemMatch" => {
"action_executed_at" => {
"$gt" => DateTime.now.to_s
}
}
})
But they always return and empty collection.
Upvotes: 2
Views: 320
Reputation: 5213
try this
User.where(:'activities.action_executed_at'.gt => DateTime.now)
Upvotes: 2