如何在没有任何查询过滤器的情况下使用 ReactiveMongoTemplate 计算 mongodb 集合?
How count a mongodb collection with ReactiveMongoTemplate without any query filter?
我想在我的 java spring 应用程序中 确定 mongodb 集合大小 。我知道 reactive rective Mongo 模板有一个 count()
方法是做什么的,但是它需要一个 query 参数。
所以我的解决方案是:
public Mono<Long> collectionSize(){
Criteria criteria = Criteria.where("_id").exists(true);
return this.reactiveMongoTemplate.count(Query.query(criteria),MY_COLLECTION_NAME);
}
但是我不喜欢这个解决方案,因为我必须使用 captain obvious 标准。
这个问题有更好的解决办法吗?
谢谢!
Criteria
有一个空构造函数。
public Mono<Long> collectionSize(){
Criteria criteria = new Criteria();
return this.reactiveMongoTemplate.count(Query.query(criteria),MY_COLLECTION_NAME);
}
并且 count 的所有变体都需要一个查询参数,如记录的那样 here
查询不需要条件,您可以只提供查询参数。 Reference
public Mono<Long> collectionSize(){
return this.reactiveMongoTemplate.count(new Query(),MY_COLLECTION_NAME);
}
我想在我的 java spring 应用程序中 确定 mongodb 集合大小 。我知道 reactive rective Mongo 模板有一个 count()
方法是做什么的,但是它需要一个 query 参数。
所以我的解决方案是:
public Mono<Long> collectionSize(){
Criteria criteria = Criteria.where("_id").exists(true);
return this.reactiveMongoTemplate.count(Query.query(criteria),MY_COLLECTION_NAME);
}
但是我不喜欢这个解决方案,因为我必须使用 captain obvious 标准。
这个问题有更好的解决办法吗?
谢谢!
Criteria
有一个空构造函数。
public Mono<Long> collectionSize(){
Criteria criteria = new Criteria();
return this.reactiveMongoTemplate.count(Query.query(criteria),MY_COLLECTION_NAME);
}
并且 count 的所有变体都需要一个查询参数,如记录的那样 here
查询不需要条件,您可以只提供查询参数。 Reference
public Mono<Long> collectionSize(){
return this.reactiveMongoTemplate.count(new Query(),MY_COLLECTION_NAME);
}