【发布时间】:2020-09-26 15:43:06
【问题描述】:
我的问题很简单。试图在两个日期之间从 mongodb 获取记录,例如 [01-06-2020 到 07-06-2020]。但不起作用。怎么做?
日期格式为 dd-mm-yyyy
mongodb 记录:
[
{
_id:ObjectId("5edd1df67b272e2d4cf36f70"),
date:"01-06-2020",
pid:1,
pname:"Micheck"
},
{
_id:ObjectId("5edd1dk67b272e2d4cf31f72"),
date:"03-06-2020",
pid:2,
pname:"Zohn"
},
{
_id:ObjectId("5edd1rf67b272e2d4cf16f73"),
date:"07-06-2020",
pid:3,
pname:"Robert"
},
{
_id:ObjectId("5edd1dw67b272e2d4cf76f76"),
date:"01-05-2020",
pid:6,
pname:"Josebh"
}
]
data.controller.js:
module.exports.getReportTableData = (req, res, next) => {
let collectionname = req.query.collection;
let date1 = "01-06-2020"; //dd-mm-yyyy
let date2 = "07-06-2020"; //dd-mm-yyyy
let tableReportdata = dbc.model(collectionname);
tableReportdata.find({ date: date1,date2 }, function(err, docs) {
if (err) {
console.log(err);
return;
} else {
console.log("Successful loaded data");
res.json({ data: docs, success: true, msg: 'Data loaded.' });
}
});
};
【问题讨论】:
-
你的 mongo 版本是什么?
-
@AyushGupta:4.2.7
-
并不是说如果您可以更改架构以使日期为“yyyy-mm-dd”,您可以随意查询并对字符串进行排序。
标签: node.js mongodb mongoose mongodb-query