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 回答