mongodb - 根据时间过滤记录时出错
问题描述
我的收藏中的用户记录很少。对于该记录,插入时间是toISOString
格式。我正在尝试使用查找查询忽略超过 3 天的记录,但出现一些错误。
错误:查询错误:无法解析查询内容:无效字符“。” 在数组元素之后
我的记录:
[
{
"_id": "1",
"name": "user1",
"data":"some data",
"insertionTime": "2020-11-10T10:18:27.158Z",
},
{
"_id": "2",
"name": "user1",
"data":"some data"
"insertionTime": "2020-11-10T14:18:27.158Z",
},
{
"_id": "3",
"name": "user1",
"data":"some data",
"insertionTime": "2020-11-06T14:18:27.158Z",
}
]
预期输出:
[
{
"_id": "2",
"name": "user1",
"data":"some data",
"insertionTime": "2020-11-10T14:18:27.158Z",
},
{
"_id": "3",
"name": "user1",
"data":"some data",
"insertionTime": "2020-11-10T14:18:27.158Z",
}
]
我试过的查询:
db.collection.find({ $expr: { $and: [ { $eq: ['$name', 'user1'] }, { $gte: [ { $dateFromString: { dateString: '$insertionTime' } }, new Date(Date.now() - 3 * 24 * 60 * 60 * 1000), ], }, ], }, });
有人可以帮我解决这个问题吗?
解决方案
推荐阅读
- javascript - 无法将对象从另一个 .js 文件传递到链接的 .js 文件...使用 Socket.io
- css - 什么被认为是 Spring MVC 项目的根目录,以及如何访问其子目录?
- c++ - 打印机打印太大
- javascript - 加载带有加载指示器的页面 - 反应
- php - 未找到 000webhost 404 上的 CodeIgniter 3
- php - 如何在表单顶部回显消息,在同一页面上执行插入、更新和删除后,同时使用 header("location:$url");
- java - JAVA //我如何使它不区分大小写?
- javascript - 等到图像加载到 FS(代表文件系统的 NPM)上
- javascript - 使用锐利压缩图像并保留一些清晰度
- python - 使用 for 循环将行添加到 csv 文件并将其保存 Python