最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

麻烦过滤日期在嵌套数组来匹配查询的MongoDB

运维笔记admin11浏览0评论

麻烦过滤日期在嵌套数组来匹配查询的MongoDB

麻烦过滤日期在嵌套数组来匹配查询的MongoDB

我建立FreecodeCamp以下项目。我的项目有保存用户名和锻炼和时间竞争(包括日期)。我的问题是访问日期的集体数据阵列,只返回日期和演习匹配网址查询。这里是我的JSON的代码返回。我只需要设定的限制日期和练习匹配查询用户的查询URL中设置返回日期匹配2018-11-22T00:00:00.000Z(例如localhost:3000/addme16?id=5_OYzu1QG&start=22 November 2018&end=22 November 2018&limit=2)的量。因此,只返回两个Date对象匹配2018-11-22T00:00:00.000Z如果查询限制设置为两个日期和练习归还。

{
    "_id": "5_OYzu1QG",
    "username": "Timmy",
    "data": [{
            "description": "walking",
            "duration": 1,
            "date": "2018-11-22T00:00:00.000Z"
        },
        {
            "description": "Reading",
            "duration": 2,
            "date": "2019-01-01T00:00:00.000Z"
        },
        {
            "description": "Mountain Biking",
            "duration": 3,
            "date": "2019-01-22T00:00:00.000Z"
        }
    ],
    "__v": 0
}
回答如下:

鉴于URL字符串:2018-11-22T00:00:00.000Z (example localhost:3000/addme16?id=5_OYzu1QG&start=22 November 2018&end=22 November 2018&limit=2)

提取年,月,日,则:

const data = db.Collection.find({
        date: {
            "created_on": {
                "$gte": new Date(2018, 11, 22),
                "$lt": new Date(2018, 11, 23)
            }
        }
    }).limit(2)

使用$gte(大于等于)和$lt(小于第二天)的确保你得到的那一天的所有时间戳

发布评论

评论列表(0)

  1. 暂无评论