mongodb - Mongoose 聚合 $match $get $lte 日期
问题描述
如果请求带有 startDate endDate 查询,我正在尝试匹配日期。但是,我使用以下方法返回时得到空数据。
try {
console.log(req.query.startDate);
console.log(new Date(req.query.startDate));
console.log(new Date(req.query.startDate).toISOString());
let match = {};
if (req.query.userId) {
match.userId = req.query.userId;
}
if (req.query.startDate && req.query.endDate) {
match.createdAt = {
$gte: new Date(req.query.startDate),
$lt: new Date(req.query.endDate)
};
}
const docs = await Sale.aggregate([{
$match: match
}
]);
return res.status(200).json({
docs
});
}
From console log:
2019-01-01
2019-01-01T00:00:00.000Z
2019-01-01T00:00:00.000Z
解决方案
推荐阅读
- javascript - JavaScript:我应该返回什么来将此函数视为错误输入?
- ruby-on-rails - Ruby on Rails:嵌套属性不显示
- google-apps-script - 从网站检索的数据都是“-”?我能做些什么?
- firebase - 构建时的 Firebase Firestore 错误:调用“firebase::firestore::util::FormatArg”的构造函数不明确
- python - Python:长形式的数组 For 循环
- api - 每个存储桶或文件夹的 Amazon S3 自定义域
- c++ - 参数列表中间的可变模板参数
- php - Apache 未在 WAMP 上运行
- javascript - socket.io 服务器发送空数据
- html - CSS打字效果不起作用