javascript - mongodb中查询日期

标签 javascript mongodb date

我正在尝试按日期范围查询我的收藏。我试图在查询中使用 ISODate 传递 JavaScript 日期,但它不起作用,我不知道为什么......

我已经尝试过:

db.collection.aggregate {date: {$gt: 'new Date(' + start.toISOString() + ')', $lt: 'new Date(' + end.toISOString() + ')'}}, {"$group": {_id: "$user", count: {$sum: 1}}}

db.collection.aggregate {date: {$gt: 'ISODate(' + start.toISOString() + ')', $lt: 'ISODate(' + end.toISOString() + ')'}}, {"$group": {_id: "$user", count: {$sum: 1}}}

db.collection.aggregate {date: {$gt: 'ISODate(' + start + ')', $lt: 'ISODate(' + end + ')'}}, {"$group": {_id: "$user", count: {$sum: 1}}}

db.collection.aggregate {date: {$gt:start, $lt: end}}, {"$group": {_id: "$user", count: {$sum: 1}}}

没有任何效果...

你能帮我吗?或者解释一下为什么它在每种情况下都不起作用?

最佳答案

为什么将 Date 构造函数作为字符串并将其与 startend 值连接起来?将 Date 对象与 "new Date(2014-10-20T15:27:24.110Z)" 等字符串进行比较肯定行不通。

如果 startend 是纯 JavaScript Date 对象,您可以使用以下方法构造 ISODate 对象进行比较ISODate 帮助器如下所示:

db.collection.aggregate([
    {$match: {date: {
        $gt: ISODate(start.toISOString()),
        $lt: ISODate(end.toISOString())
    }}},
    {$group: {_id: "$user", count: {$sum: 1}}}
])

关于javascript - mongodb中查询日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26468607/

相关文章:

javascript - 请求失败,出现 "No ' Access-Control-Allow-Origin' header ”

mongodb - 在 Mongoose 中用 $ 和两个参数查询?

javascript - 使用 Javascript 日期,获取 0 或以上 31

php - 在 PHP 中将日期格式 m.Y 转换为 MySQL 兼容的 Y-m-d

javascript - 剑道网格可编辑 false 不起作用

javascript - 我的 meteor 项目规模正在失控

javascript - 在 Bokeh 服务器配置中如何从客户端浏览器获取 x,y 坐标到服务器

Mongodb/Mongoid - 什么{:multi => true} mean

mongodb - 为什么 MongoDB 在负载测试期间没有响应?

javascript - 使用javascript检查日期范围内是否存在周末