MongoDB按日期过滤查询:获取近10天修改记录(适配Mongo Compass)
转换为Mongo Compass可用的过滤查询语句
没问题,我帮你把原来的聚合查询改成Mongo Compass里直接可以执行的过滤查询,步骤和代码如下:
最终过滤查询语句
直接在Compass的Filter输入框中粘贴以下代码即可:
{ "lastModifiedDate": { "$gte": new Date(new Date().getTime() - 10*24*60*60*1000) } }
为什么不需要聚合里的$dateFromString?
因为你的lastModifiedDate字段是标准的ISO日期字符串格式(比如示例中的"2018-05-29T01:00:36.533Z"),MongoDB会自动将其解析为日期类型进行比较,所以不需要额外的转换步骤,直接用字段名做条件就行。
在Compass中的操作步骤
- 打开Mongo Compass并连接到你的数据库
- 找到
Owner集合并进入 - 切换到Filter标签页
- 粘贴上面的JSON过滤条件
- 点击Find按钮,就能获取近10天内修改的所有记录了
内容的提问来源于stack exchange,提问作者user225508




