MongoDB范围查询编写求助:按totalPrice与salaryTime过滤文档
MongoDB 查询解决方案
嘿,这事儿不难,我给你写个精准的查询语句,刚好满足你的需求:
db.yourCollectionName.find({ totalPrice: { $gte: 20, $lte: 30 }, salaryTime: { $gte: ISODate("2016-01-26T00:00:00.000Z"), $lte: ISODate("2018-02-02T23:59:59.999Z") } })
几点关键说明:
- 记得把
yourCollectionName替换成你实际使用的集合名称哦。 - 关于
totalPrice的范围:我用了$gte(大于等于)和$lte(小于等于),如果你的“介于”是不包含边界值的,那就换成$gt(大于)和$lt(小于)就行。 - 关于
salaryTime的日期:我特意用ISODate类型指定时间范围,这能确保和MongoDB存储的日期格式完全匹配(就像你示例里的createdAt那样)。如果你的salaryTime是字符串格式的日期,直接传字符串也能生效,但用ISODate是更规范稳妥的做法。
要是你还有其他调整需求,比如只返回特定字段、需要排序或者聚合操作,随时说哈!
内容的提问来源于stack exchange,提问作者EmreAltun
相关产品推荐
相关产品推荐

