Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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
Javascript 基于日期的流星查询_Javascript_Json_Mongodb_Meteor - Fatal编程技术网

Javascript 基于日期的流星查询

Javascript 基于日期的流星查询,javascript,json,mongodb,meteor,Javascript,Json,Mongodb,Meteor,我在上下搜索,但唯一能找到的是如何根据日期范围(例如,从日期a到日期B)进行搜索。如何查找特定日期 我这样做了,但不知何故它是不正确的: var diff = parseInt(searchKey); var delta = diff * 24 * 60 * 60 * 1000; if(diff!=NaN){ var targetDate = new Date(Date.now() + delta); //alert(

我在上下搜索,但唯一能找到的是如何根据日期范围(例如,从日期a到日期B)进行搜索。如何查找特定日期

我这样做了,但不知何故它是不正确的:

    var diff = parseInt(searchKey);
    var delta = diff * 24 * 60 * 60 * 1000;

    if(diff!=NaN){
      var targetDate = new Date(Date.now() + delta);              
      //alert(targetDate.toString()); 
      selector['date'] = targetDate;
      Session.set('selector', selector);
      Session.set('isFiltered',true);         
    }
targetDate
是一个有效日期,搜索键将作为剩余天数返回(即7天或-7天,如果日期已过)。然后将
选择器
作为参数传递给
find()
,以搜索集合


太糟糕了。它没有按预期的那样工作。在作为查询选择器执行类似操作之前,是否必须解析或格式化javascript日期对象{Date:'2014-04-01 00:00:00}?难道我不能简单地传递JS对象,并且框架足够聪明来比较它吗?

日期对象同时包含日期和时间值。要查找日期等于给定日期的项目,您需要搜索该天开始和结束之间的项目。查找具有相同日期的项目只会显示时间完全相等的项目,最长为毫秒。

为了使其正常工作,您应该使用
时刻
mrt添加时刻

在MongoDB中创建文档时,将ate指定为
时刻(矩().format(“DD.MM.YYYY”),“DD.MM.YYYY”)。toDate()
这将返回午夜的当前日期

查询时,可以使用相同的格式搜索特定日期。使用moment的优秀API计算正确的日期。未来7天将是
moment(矩().format(“DD.MM.YYYY”),“DD.MM.YYYY”)。添加('days',7)

这有点麻烦,但是查询比搜索午夜到午夜要快


希望这对你有所帮助

只需搜索你感兴趣的一天的开始到结束。因此,在mongodb中没有办法只传递日期而不传递时间?当你使用Javascript
date
对象时就不行了。