0

オンラインとオフラインの日付が記載された製品ポジョがあります

次のクエリを使用して、いずれかのonline日付が であるNull、またはいずれかのoffline日付が であるすべての製品を取得しますNull。しかし、次のクエリは の場合にのみ me を返します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))));

手がかりはありますか?

4

1 に答える 1

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

これが役立つことを願っています。

于 2016-06-09T19:06:16.117 に答える