我有一个问题
List<Bson> query = QueryBuilder.QueryBuilder(ProductSearchCriteria, Bson.class);
var item = Flowable.fromPublisher(
repository.getCollection(ProductConstrants.PRODUCT_COLLECTION_NAME, Product.class)
.find(Filters.and(query))).blockingIterable();
item.forEach(value -> {
productLists.add(
new ProductViewModel(
value.getId().toString(),
value.getName(),
value.getDescription(),
value.getPrice()
));
});
现在 List<Bson> query
有时计数大于0,有时==0。当计数大于0时,工作正常,但是当计数为0时,会出现异常 (BadValue): '$and/$or/$nor must be a nonempty array'
这是有道理的。
我的意思是当count>0时,如何使查询动态化
Flowable.fromPublisher(
repository.getCollection(ProductConstrants.PRODUCT_COLLECTION_NAME, Product.class)
.find(Filters.and(query))).blockingIterable();
当计数==0时
Flowable.fromPublisher(
repository.getCollection(ProductConstrants.PRODUCT_COLLECTION_NAME, Product.class)
.find()).blockingIterable();
我不想写if&else语句,有没有更好的方法?
暂无答案!
目前还没有任何答案,快来回答吧!