Spring整合MongoDB实现多个or的范围查询

本文介绍如何使用MongoDB的Criteria API构造复杂的时间范围查询条件。通过组合不同的查询标准,实现对SensorCollection集合中精确时间点及时间段的数据检索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Criteria c1= Criteria.where("year").gte(startYear).lte(endYear).and("month").is(endMonth).and("day").gte(startDay).lte(endDay)
            .and("hour").gte(startHour).lte(endHour).and("minute").is(startMinute).and("second").gte(startSecond);
Criteria c2=Criteria.where("year").gte(startYear).lte(endYear).and("month").is(endMonth).and("day").gte(startDay).lte(endDay)
            .and("hour").gte(startHour).lte(endHour).and("minute").is(endMinute).and("second").lte(endSecond);
Criteria c3 =Criteria.where("year").gte(startYear).lte(endYear).and("month").is(endMonth).and("day").gte(startDay).lte(endDay)
            .and("hour").gte(startHour).lte(endHour).and("minute").gt(startMinute).lt(endMinute);
Criteria cr = new Criteria();

query = new Query(cr.orOperator(c1,c2,c3));
                
getMongoTemplate().find(query, SensorCollection.class);



附带Criteria方法:

Criteria

 

Mongodb

说明

Criteria and (String key)

$and

并且

Criteria andOperator (Criteria…​ criteria)

$and

并且

Criteria orOperator (Criteria…​ criteria)

$or

或者

Criteria gt (Object o)

$gt

大于

Criteria gte (Object o)

$gte

大于等于

Criteria in (Object…​ o)

$in

包含

Criteria is (Object o)

$is

等于

Criteria lt (Object o)

$lt

小于

Criteria lte (Object o)

$lte

小等于

Criteria nin (Object…​ o)

$nin

不包含

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值