Meteorjs Mongodb如何用momentjs查询日期

nde*_*eau 3 mongodb meteor momentjs

在Meteor中,我以这种方式创建了一个获胜者文档:

var winner = {
                participant_id: array[randomIndex]["_id"], //don't worry about the array[randomIndex]
                creation_date: new Date()
            };
id = Winners.insert(winner);
Run Code Online (Sandbox Code Playgroud)

后来,我想知道今天有多少获奖者.我尝试了很多方法,但是我无法获得正确的结果.

我尝试的最后一件事是这一件事:

Winners.find({creation_date: {"$gte": moment().startOf('day'), "$lt": moment().add('days',1)}}).count();
Run Code Online (Sandbox Code Playgroud)

但结果总是等于零.

我想原因是moment().startOf('day')不是日期对象,但我不知道如何以正确的方式查询它.

Dav*_*don 13

你需要将moment对象转换回Date如此meteor/mongo可以处理查询.您可以通过附加对toDate的调用来执行此操作,如下所示:

var startDate = moment().startOf('day').toDate();
var endDate = moment().add('days',1).toDate();
Winners.find({creation_date: {$gte: startDate, $lt: endDate}}).count();
Run Code Online (Sandbox Code Playgroud)