如何使用MongoDB获取给定日期范围内的数据?

时间:2019-06-27 10:15:55

标签: javascript mongodb

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

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

例如

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

我想获取仅在日期“ 12/1/2019 09:00”到“ 12/3/2019 16:04”之间旅行的乘客详细信息,但它显示了从“ 12/1/2019 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);
            });

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

1 个答案:

答案 0 :(得分:0)

通过数据类型支持导入CSV数据。 Mongo导入工具为此提供了选项。阅读有关使用数据类型支持here

进行导入的更多信息

正确导入后,您的查询就会生效。 [还要注意日期格式]