Spring Mongo 带日期的条件查询
Spring Mongo criteria query with dates
我有一个带有在线和离线日期的产品 pojo
我使用以下查询获取 online
日期为 Null
或 offline
日期为 Null
的所有产品。但是下面的查询只有returns我当both online and offline date are null
.
query.addCriteria(Criteria.where(Product.IS).is(is).andOperator( Criteria.where(Product.OFFLINE_DATE).is(null).orOperator(Criteria.where(Product.ONLINE_DATE).is(null))));
有什么线索吗?
使用上述查询对象,您正在创建类似于
的 mongo 查询
{ "productId" : "1" , "$and" : [ { "offlineDate" : null , "$or" : [ { "onlineDate" : null }]}]}
你想查询的地方类似于{ "productId" : "1" , "$and" : [ { "$or" : [ { "offlineDate" : null } , { "onlineDate" : null }]}]}
为 orOperator 创建一个 Criteria 对象并将其放入 andOperator:
Criteria orOperator = new Criteria().orOperator(Criteria.where(Product.OFFLINE_DATE).is(null),
Criteria.where(Product.ONLINE_DATE).is(null));
query.addCriteria(Criteria.where(Product.IS).is(is).andOperator(orOperator));
希望对您有所帮助。
我有一个带有在线和离线日期的产品 pojo
我使用以下查询获取 online
日期为 Null
或 offline
日期为 Null
的所有产品。但是下面的查询只有returns我当both online and offline date are null
.
query.addCriteria(Criteria.where(Product.IS).is(is).andOperator( Criteria.where(Product.OFFLINE_DATE).is(null).orOperator(Criteria.where(Product.ONLINE_DATE).is(null))));
有什么线索吗?
使用上述查询对象,您正在创建类似于
的 mongo 查询{ "productId" : "1" , "$and" : [ { "offlineDate" : null , "$or" : [ { "onlineDate" : null }]}]}
你想查询的地方类似于{ "productId" : "1" , "$and" : [ { "$or" : [ { "offlineDate" : null } , { "onlineDate" : null }]}]}
为 orOperator 创建一个 Criteria 对象并将其放入 andOperator:
Criteria orOperator = new Criteria().orOperator(Criteria.where(Product.OFFLINE_DATE).is(null),
Criteria.where(Product.ONLINE_DATE).is(null));
query.addCriteria(Criteria.where(Product.IS).is(is).andOperator(orOperator));
希望对您有所帮助。