Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
如何使用mongoDB比较查询运算符处理createdAt日期?_Mongodb_Date_Datetime_Meteor - Fatal编程技术网

如何使用mongoDB比较查询运算符处理createdAt日期?

如何使用mongoDB比较查询运算符处理createdAt日期?,mongodb,date,datetime,meteor,Mongodb,Date,Datetime,Meteor,我正在尝试编写一个mongoDB查询,它将只生成今天创建的对象 在下面找到我输入到Chrome浏览器的查询: var currentDate = Date(); console.log(currentDate); Meteor.users.find({}, {createdAt: {$gte: currentDate}} ).fetch(); 上述代码产生: Mon Oct 01 2018 14:35:58 GMT+0300 (East Africa Time) (2) [{…}, {…

我正在尝试编写一个mongoDB查询,它将只生成今天创建的对象

在下面找到我输入到Chrome浏览器的查询:

var currentDate = Date(); 
console.log(currentDate); 
Meteor.users.find({}, {createdAt: {$gte: currentDate}} ).fetch();
上述代码产生:

Mon Oct 01 2018 14:35:58 GMT+0300 (East Africa Time)

(2) [{…}, {…}]

0: {_id: "REzQZdJJgjJ8q29eF", createdAt: Sat Sep 29 2018 10:48:51 GMT+0300 (East Africa Time)}
1: {_id: "JzgBEtSji9aYAQws6", createdAt: Mon Oct 01 2018 10:15:48 GMT+0300 (East Africa Time)}
length: 2
__proto__: Array(0)
注意两件事。当前给定的日期是:2018年10月1日星期一14:35:58 GMT+0300东非时间,但查询忽略$gte并弹出$lte的文档

有人能给我解释一下为什么这个比较查询操作符不起作用吗?还有人能为这个查询提供一个可行的解决方案吗

期待您的帮助

您正在创建一个当前日期时间变量,并查找在该变量之后创建的文档—这几乎总是不会生成任何文档。你需要把日期缩短到今天00:00:00。还要注意新的日期,而不仅仅是日期


最后请注意,这将为您提供当地时区的午夜时间,而不是祖鲁时间。

这是findcriteria,选项不是相反?@Geoffroy我认为您的解决方案有点不合常规,但我还是尝试了一下。我希望这就是你的意思:“Meteor.users.find{createdAt:{$lte:date},{}.fetch';不幸的是,这根本不会产生任何效果。如果这不是你的意思,请在代码中详细说明。这不是非正统的,正如公认的答案所示,我需要你的帮助
const currentDate = new Date();
currentDate.setHours(0,0,0,0);
Meteor.users.find({ createdAt: { $gte: currentDate }}).fetch();