Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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 在MongoDB中更改日期筛选器的灵敏度_Javascript_Mongodb_Mongoose - Fatal编程技术网

Javascript 在MongoDB中更改日期筛选器的灵敏度

Javascript 在MongoDB中更改日期筛选器的灵敏度,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,使用以下过滤器可以根据当前分钟获取当前信息 time: {$gte: new Date()} 如何将此筛选器更改为仅对当前日期敏感?因此,即使某些信息的时间字段只有几个小时,但仍然在当前日期,它也会被返回。以下是示例文档: { "_id" : ObjectId("570e6b2a5bc3c5211a5ad80a"), "reason" : "past document", "time" : ISODate("2016-04-13T13:46:50Z"), } {

使用以下过滤器可以根据当前分钟获取当前信息

time: {$gte: new Date()}
如何将此筛选器更改为仅对当前日期敏感?因此,即使某些信息的时间字段只有几个小时,但仍然在当前日期,它也会被返回。以下是示例文档:

{
    "_id" : ObjectId("570e6b2a5bc3c5211a5ad80a"),
    "reason" : "past document",
    "time" : ISODate("2016-04-13T13:46:50Z"),
}    
{
    "_id" : ObjectId("570e6b485bc3c5211a5ad80b"),
    "reason" : "future document (today)",
    "time" : ISODate("2016-04-13T18:52:13Z"),
}
{
    "_id" : ObjectId("570bcb094fb2e11410e6f74c"),
    "reason" : "fresh appointment",
    "time" : ISODate("2016-04-21T17:04:08Z"),
}

然后,一个预期的返回将是返回所有三个文档,因为它们都有一个时间域,即今天和更大的时间域。目前,我的过滤器只返回底部的两个文档,因为过滤器查看日期、小时和分钟。理想情况下,它只会看一天

创建一个日期对象实例,该实例将当前日期时间小时保存为
00:00:00.000
(毫秒精度),并在查询中使用该实例作为:

var start = new Date();
start.setHours(0,0,0,0);

db.collection.find({ "time": { "$gte": start } });

请显示具有预期输出的示例文档。@user3100115非常好的建议。这些都被添加了。那么
{time:{“$gte”:新日期(2016,04,13)}}
?@user3100115它需要按当前日期过滤。不是硬编码的值。克里达姆帮了我的忙。谢谢你抽出时间!