查询

查询数据

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

最后更新于

这有帮助吗?