Mongo:使用Node仅查询今天的文档

时间:2016-02-15 07:22:56

标签: node.js mongodb

如何仅在今天插入的文档中查询MongoDb?我的文件看起来像这样

{
    "_id" : "8Mj3s6GRkvNeftbAP",
    createdAt: ISODate("2016-02-10T07:51:08.934Z"),
}

我尝试了{"createdAt": new Date()},这可能是由于时间戳而无效。请帮忙

1 个答案:

答案 0 :(得分:1)

当您在集合中查询createdAt等于new Date()的文档(即当前时间戳)时,您可能无法获得任何结果,因为createdAt字段将具有值小于当前时间戳的时间 经过。

您需要查询包含今天的日期范围,而不是当前日期时间。换句话说,创建一个代表今天开始的日期对象,然后您可以在集合中查询文档 createdAt字段大于该日期的字段。一个mongo shell示例如下:

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

db.collection.find({ "createdAt": { "$gte": startOfToday } });

上面将查询集合中今天创建的文档。