假设我有一个用户文档,它将许多活动作为嵌入文档。每次用户在网站上执行某些操作时,都会创建一个活动文档(作为示例)。
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
}
}
})
但他们总是回归并清空。
答案 0 :(得分:2)
试试这个
User.where(:'activities.action_executed_at'.gt => DateTime.now)