加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Mongoid查询中的日期

发布时间:2020-12-16 21:29:10 所属栏目:百科 来源:网络整理
导读:我有一个模特: class SimpleAction include Mongoid::Document field :set_date,:type = Date 我收集了一些数据: { “_id” : ObjectId(“4f6dd2e83a698b2518000006”),“name” : “lost”, “notes” : “”,“set_date(1i)” : “2012”,“set_date(2i)
我有一个模特:
class SimpleAction
  include Mongoid::Document
  field :set_date,:type => Date

我收集了一些数据:

{ “_id” : ObjectId(“4f6dd2e83a698b2518000006”),“name” : “lost”,
“notes” : “”,“set_date(1i)” : “2012”,“set_date(2i)” : “3”,
“set_date(3i)” : “25”,“set_date(4i)” : “13”,“set_date(5i)” : “57”,
“duration” : 15,“todo” : “4” }

您可以在五个字段中看到mongoid存储日期 – set_date(ni).

我有两个问题:

>如何通过mongo控制台客户端中的set_date字段过滤数据?像这样的东西:

db.simple_actions.find({ set_date : { "$lte" : new Date() } })

我的查询没有返回任何数据.
>如何通过Rails控制器中的set_date字段过滤数据?像这样的东西:

@simple_actions = SimpleAction.where(:set_date => { '$lte' => Date.today })

解决方法

我建议不要使用Date,而是使用DateTime:
field :set_date,:type => DateTime

现在不仅将它存储在1个字段中,如下所示:

"set_date" : ISODate("2012-03-14T17:42:27Z")

但Mongoid会正确处理您想要的各种查询转换:

SimpleAction.where( :set_date => { :$lte => Date.today } )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读