如何在MongoDB中使用类似like的条件查询含2023的timestamp文档?
解决MongoDB日期类型字段匹配2023年文档的问题
你的timestamp字段是MongoDB的ISODate日期类型,不是字符串,所以直接用正则表达式匹配的方式不生效——正则仅适用于字符串类型字段。以下是两种正确的查询方式:
方法一:日期范围匹配
通过指定2023年的起始和结束时间,匹配该时间段内的所有文档:
nairobi.countDocuments({ "timestamp": { $gte: ISODate("2023-01-01T00:00:00.000Z"), $lte: ISODate("2023-12-31T23:59:59.999Z") } })
方法二:使用日期运算符提取年份匹配
利用$expr和$year运算符提取timestamp的年份,直接匹配等于2023的文档:
nairobi.countDocuments({ $expr: { $eq: [ { $year: "$timestamp" }, 2023 ] } })
内容的提问来源于stack exchange,提问作者Ahmed Jumaa
相关产品推荐
相关产品推荐

