Spring Mongo条件查询日期

时间:2016-06-09 17:34:14

标签: mongodb spring-mongo spring-mongodb

我有一个具有在线和离线日期的产品pojo

我使用以下查询来获取online日期为Nulloffline日期为Null的所有产品。但以下查询仅在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))));

任何线索?

1 个答案:

答案 0 :(得分:1)

使用上面的Query对象,您将创建类似于

的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));

我希望这会有所帮助。