小编Dus*_*wer的帖子

Mongoid日期范围查询

我似乎找不到使用Mongoid/Rails进行日期范围查询的任何内容.以下是我尝试的一些查询(大约100个其他查询).如果它返回任何内容,它总是忽略'end_date'.两个日期都是日期时间......

all(:conditions => {:created_at => start_date.to_datetime..end_date.to_datetime})
Run Code Online (Sandbox Code Playgroud)

结果是:

NoMethodError: undefined method `to_i' for Tue, 26 Apr 2011 00:00:00 +0000..Fri, 06 May 2011 00:00:00 +0000:Range
Run Code Online (Sandbox Code Playgroud)

另一个例子...

where(:created_at => {'$gte' => start_date,'$lt' => end_date})
Run Code Online (Sandbox Code Playgroud)

导致查询成功,但忽略结束日期.结果在开始日期之后正确返回,但不受结束日期的限制.

几天来我一直在研究这个问题但无济于事.在论坛或IRC网上帮助不大.

很想知道我做错了什么:)

ruby-on-rails mongodb mongoid

14
推荐指数
1
解决办法
1万
查看次数

Rails created_at查找条件

我试图为给定用户的每日购买金额加总.@dates是一个包含31个日期的数组.我需要find条件来比较数组中的日期和购买的created_at日期.我在下面做的比较create_at列的确切DateTime.我需要它来看一天本身,而不是DateTime.

我怎么写这个,所以created_at介于数组的日期之间?

<% @dates.each do |date| %>
  <td><%= current_user.purchases.sum(:amount, :conditions => ["created_at = ?", date]) %></td>
<% end %>
Run Code Online (Sandbox Code Playgroud)

ruby datetime ruby-on-rails find conditional-statements

2
推荐指数
2
解决办法
4435
查看次数