Mongoid大于日期或大于nil

时间:2016-10-25 08:06:18

标签: ruby-on-rails mongodb ruby-on-rails-5 mongoid6

我有两个型号

class Conversation
  include Mongoid::Document 

  field :last_moderated_at, type: DateTime
  has_many :messages
end

class Message
  include Mongoid::Document
  include Mongoid::Timestamps
end

我想获取在审核日期之后创建的所有邮件的列表,或者如果审核日期为nil,则获取所有邮件的列表

我原本期望以下工作

conversation.messages.where(
      :created_at.gte => conversation.last_moderated_at
    )

但显然与nil的比较失败(当last_moderated_at == nil

我别无选择,只能使用if/else或者是否存在类型greater than的mongoDB运算符,与nil日期相比也可以运行?

1 个答案:

答案 0 :(得分:0)

语法正确。它至少适用于Mongoid版本6。