【问题标题】:How to get data for given Dates range using MongoDB?如何使用 MongoDB 获取给定日期范围的数据?
【发布时间】:2019-07-01 13:29:51
【问题描述】:

我有一组名为“passengers”的 JSON 数据存储在 mongoDB 集合中。这里我使用 CSV 文件将原始数据上传到数据库。在 CSV 文件的“时间戳”列中,所有日期均以“2019 年 12 月 1 日 12:30”格式给出。

我想获取给定日期范围内的乘客数据。但我无法获得所需的输出。它显示所有日期,而不是显示给定范围之间的日期。 DB中的“timestamp”键是“String”类型的

例如

我将正文中的“fromDate”:“12/1/2019 09:00”和“toDate”:“12/3/2019 16:04”传递给服务器。

我想获取仅在“2019 年 12 月 1 日 09:00”到“2019 年 12 月 3 日 16:04”之间旅行的乘客详细信息,但它显示了“2019 年 12 月 1 日 00 日”的所有乘客:00" 到 "12/31/2019 00:00"

我试过这个:

passenger.find({
                'timestamp': {
                    $gte:req.body.fromDate,
                    $lt: req.body.toDate
                }
            }, function (err, passengersData) {
                console.log("Passenger details ==", passengersData);
                if (err) {
                    res.status(500).json({
                        "message": err.message
                    });
                    return;
                }
                res.status(200).json(passengersData);
            });

我想获取仅在“2019 年 12 月 1 日 09:00”到“2019 年 12 月 3 日 16:04”之间旅行的乘客详细信息,但它显示了“2019 年 12 月 1 日 00 日”的所有乘客:00" 到 "12/31/2019 00:00"enter image description here

【问题讨论】:

标签: javascript mongodb


【解决方案1】:

导入具有数据类型支持的 CSV 数据。 Mongo 导入工具为此提供了选项。阅读更多关于导入数据类型支持here

正确导入后,您的查询将起作用。 [还要注意日期格式]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多