Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date meteor:如何按日期筛选本地收藏_Date_Meteor_Find - Fatal编程技术网

Date meteor:如何按日期筛选本地收藏

Date meteor:如何按日期筛选本地收藏,date,meteor,find,Date,Meteor,Find,我有一个订阅的收藏条目,其中包含一个类型属性的条目,例如post或article,以及两个日期,分别是available_from和available_to。这些条目通过RESTful API上传到数据库中,available_from和available_to的值作为ISODATE存储在表单中 提供地址:ISODATE 2017-06-01T00:00:00Z 问题是,一旦我尝试执行搜索,就会从表单中提取值,并以以下方式创建搜索哈希,结果为空: "click #search-trigger":

我有一个订阅的收藏条目,其中包含一个类型属性的条目,例如post或article,以及两个日期,分别是available_from和available_to。这些条目通过RESTful API上传到数据库中,available_from和available_to的值作为ISODATE存储在表单中

提供地址:ISODATE 2017-06-01T00:00:00Z

问题是,一旦我尝试执行搜索,就会从表单中提取值,并以以下方式创建搜索哈希,结果为空:

"click #search-trigger": ->
  $entry_type = $('#fullsearch-entry-type').val()
  $from = Date.create(moment($('#fullsearch-from').val(), "DD.MM.YYYY").format())
  $to = Date.create(moment($('#fullsearch-to').val(), "DD.MM.YYYY").format())

  searchHash =
    available_from:
      $gte: $from
    available_to:
      $lte: $to
    entry_type: $entry_type

  console.log searchHash
  console.log typeof $from
  console.log typeof $to

  console.log Entry.find(searchHash).fetch()
日期被转换为正确的日期对象,因为输入字段中的值是DD.MM.YYYY的形式,如果我正确地使用SugarJS,则它将只是一个字符串


我尝试了重写日期值的不同变体,漏掉了两个日期中的一个,或者漏掉了我的搜索散列,并在find查询中手工输入查询选项,但都没有用。我希望有人能给我指出正确的方向,因为我已经在为这个问题发愁了:

正如mwarren所说的,问题是Sugar+moment-当我后退几步并坚持使用纯JS日期时,我的问题就消失了。

你确定变量$from和$to是ISODate格式的吗?否则这可能就是问题所在。您还可以尝试将ISODate格式转换为日期类型。因为$from来自thaat类型,所以我也尝试像这样构建查询:Entry.find{Entry_type:Entry,available_from:{$gte:{$date:$from}}}只是为了确保,但仍然没有运气。但我怀疑你是对的,也许我的日期值不是ISODate-既然我假设SugarJS在使用date.create到ISODate或将我收藏的日期转换为其他类型时会这样做,我如何转换它们?你真的能给SugarJS一点时间吗?似乎是一种比较容易出错的解析日期的方法,也许你应该使用sugar或moment,但这两者在一起对我来说似乎很奇怪。我会回到纯javascript的日期位,让你知道发生了什么。你是否记录了日期,以确保你从糖中得到的正是你所期望的?尝试一些普通的javascript:var myDateParser=functionstringWithDots{var splitted=stringWithDots.split'.';var newDateString=splitted[2]+'-'+splitted[1]+'-'+splitted[0];返回新的DatenewDateString;}