假设我有一个用户文档,其中包含许多活动作为嵌入文档。每次用户在网站上做某事时,都会创建一个活动文档(例如)。
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
}
}
})
但他们总是返回并清空集合。