查询
查询数据
public <T> T findOne(Query query, Class<T> entityClass);
public <T> T findOne(Query query, Class<T> entityClass, String collectionName);
public <T> List<T> find(Query query, Class<T> entityClass);
public <T> List<T> find(Query query, Class<T> entityClass, String collectionName);
public <T> List<T> findAll(Class<T> entityClass);
public <T> List<T> findAll(Class<T> entityClass, String collectionName);
查询并修改
public <T> T findAndModify(Query query, UpdateDefinition update, Class<T> entityClass);
public <T> T findAndModify(Query query, UpdateDefinition update, Class<T> entityClass, String collectionName);
public <T> T findAndModify(Query query, UpdateDefinition update, FindAndModifyOptions options, Class<T> entityClass);
public <T> T findAndModify(Query query, UpdateDefinition update, FindAndModifyOptions options, Class<T> entityClass,String collectionName);
查询并替换
public <T> T findAndModify(Query query, UpdateDefinition update, Class<T> entityClass);
public <T> T findAndModify(Query query, UpdateDefinition update, Class<T> entityClass, String collectionName);
public <T> T findAndModify(Query query, UpdateDefinition update, FindAndModifyOptions options, Class<T> entityClass);
public <T> T findAndModify(Query query, UpdateDefinition update, FindAndModifyOptions options, Class<T> entityClass,
String collectionName);
查询并删除
public <T> T findAndRemove(Query query, Class<T> entityClass);
public <T> T findAndRemove(Query query, Class<T> entityClass, String collectionName)
判断对象是否存在
public boolean exists(Query query, Class<?> entityClass);
public boolean exists(Query query, String collectionName);
public boolean exists(Query query, @Nullable Class<?> entityClass, String collectionName);
统计
public long count(Query query, Class<?> entityClass);
public long count(Query query, Class<?> entityClass);
public long count(Query query, @Nullable Class<?> entityClass, String collectionName)
public <T> MapReduceResults<T> mapReduce(String inputCollectionName, String mapFunction, String reduceFunction, Class<T> entityClass)
从 MongoDB 5.0 开始,不推荐使用 map reduce 操作。
聚合管道提供了比 map-reduce 操作更好的性能和可用性。
可以使用聚合管道操作符(如 g r o u p 、 group、group、merge 等)重写 Map reduce 操作。
分组操作
public <T> GroupByResults<T> group(String inputCollectionName, GroupBy groupBy, Class<T> entityClass);
public <T> GroupByResults<T> group(@Nullable Criteria criteria, String inputCollectionName, GroupBy groupBy,
Class<T> entityClass)
聚合操作
public <O> AggregationResults<O> aggregate(TypedAggregation<?> aggregation, Class<O> outputType);
public <O> AggregationResults<O> aggregate(TypedAggregation<?> aggregation, String inputCollectionName,
Class<O> outputType);
public <O> AggregationResults<O> aggregate(Aggregation aggregation, Class<?> inputType, Class<O> outputType);
public <O> AggregationResults<O> aggregate(Aggregation aggregation, String collectionName, Class<O> outputType);
public <O> CloseableIterator<O> aggregateStream(TypedAggregation<?> aggregation, String inputCollectionName,
Class<O> outputType);
public <O> CloseableIterator<O> aggregateStream(TypedAggregation<?> aggregation, Class<O> outputType);
public <O> CloseableIterator<O> aggregateStream(Aggregation aggregation, Class<?> inputType, Class<O> outputType);
public <O> CloseableIterator<O> aggregateStream(Aggregation aggregation, String collectionName, Class<O> outputType);
最后更新于
这有帮助吗?