Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.anwen.mongo.service.IService Maven / Gradle / Ivy
package com.anwen.mongo.service;
import com.anwen.mongo.aggregate.Aggregate;
import com.anwen.mongo.aggregate.LambdaAggregateChainWrapper;
import com.anwen.mongo.conditions.query.LambdaQueryChainWrapper;
import com.anwen.mongo.conditions.query.QueryChainWrapper;
import com.anwen.mongo.conditions.update.LambdaUpdateChainWrapper;
import com.anwen.mongo.conditions.update.UpdateChainWrapper;
import com.anwen.mongo.mapping.TypeReference;
import com.anwen.mongo.model.PageParam;
import com.anwen.mongo.model.PageResult;
import com.anwen.mongo.support.SFunction;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.model.CreateIndexOptions;
import com.mongodb.client.model.DropIndexOptions;
import com.mongodb.client.model.IndexModel;
import com.mongodb.client.model.IndexOptions;
import org.bson.Document;
import org.bson.conversions.Bson;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
* @author JiaChaoYang
* @since 2023-02-09 13:25
**/
public interface IService {
/**
* 添加
* @param entity 添加的对象
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:27
*/
Boolean save(T entity);
/**
* 添加多个
* @param entityList 对象集合
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:56
*/
Boolean saveBatch(Collection entityList);
/**
* 添加或修改
* @param entity 对象
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:57
*/
Boolean saveOrUpdate(T entity);
/**
* 添加或修改
* @param entity 对象
* @param isQueryDatabase 是否查询数据库判断添加或修改
* @return {@link boolean}
* @author anwen
* @date 2024/8/6 下午7:37
*/
boolean saveOrUpdate(T entity, boolean isQueryDatabase);
/**
* 根据传入wrapper条件判断添加修改,传递_id并不会修改
* @param entity 对象
* @param queryChainWrapper 条件
* @return java.lang.Boolean
* @author JiaChaoYang
* @date 2024/1/15 23:15
*/
Boolean saveOrUpdateWrapper(T entity,QueryChainWrapper queryChainWrapper);
/**
* 批量添加或修改
* @param entityList 对象集合
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:57
*/
Boolean saveOrUpdateBatch(Collection entityList);
/**
* 批量添加或修改
* @param entityList 对象集合
* @param isQueryDatabase 是否查询数据库判断添加或修改
* @return {@link boolean}
* @author anwen
* @date 2024/8/6 下午7:41
*/
boolean saveOrUpdateBatch(Collection entityList,boolean isQueryDatabase);
/**
* 根据传入wrapper条件判断批量添加修改,传递_id并不会修改
* @param entityList 对象集合
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:57
*/
Boolean saveOrUpdateBatchWrapper(Collection entityList,QueryChainWrapper queryChainWrapper);
/**
* 修改
* @param entity 修改的对象,需要包含id
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:28
*/
Boolean updateById(T entity);
/**
* 根据id修改多个
* @param entityList 修改的对象,需要包含id
* @return {@link java.lang.Boolean}
* @author anwen
* @date 2024/6/23 下午5:13
*/
Boolean updateBatchByIds(Collection entityList);
/**
* 通过列进行修改
* @param entity 修改的实体
* @param column 根据什么列修改
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:46
*/
Boolean updateByColumn(T entity, SFunction column);
/**
* 通过列进行修改
* @param entity 修改的实体
* @param column 根据什么列修改
* @return {@link java.lang.Boolean}
* @author anwen
* @date 2024/6/23 下午5:13
*/
Boolean updateByColumn(T entity, String column);
/**
* 根据条件删除
* @param updateChainWrapper 条件
* @return java.lang.Boolean
* @author JiaChaoYang
* @date 2023/10/20 0:51
*/
Boolean remove(UpdateChainWrapper updateChainWrapper);
/**
* 根据条件修改
* @param updateChainWrapper 条件
* @return java.lang.Boolean
* @author JiaChaoYang
* @date 2023/10/20 0:51
*/
Boolean update(UpdateChainWrapper updateChainWrapper);
/**
* 根据条件修改
* @author JiaChaoYang
* @date 2024/2/3 13:10
*/
Boolean update(T entity,QueryChainWrapper queryChainWrapper);
/**
* 根据id删除
* @param id 数据id
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:47
*/
Boolean removeById(Serializable id);
/**
* 根据字段删除
* @param column 字段名
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 14:01
*/
Boolean removeByColumn(SFunction column, Object value);
/**
* 根据字段删除
* @param column 字段
* @param value 值
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 14:05
*/
Boolean removeByColumn(String column,Object value);
/**
* 根据id批量删除
* @param idList id集合
* @return java.lang.Boolean
* @author JiaChaoYang
* @since 2023/2/9 13:59
*/
Boolean removeBatchByIds(Collection extends Serializable> idList);
/**
* 查询所有
* @return java.util.List
* @author JiaChaoYang
* @since 2023/2/10 9:48
*/
List list();
/**
* 查询所有,返回指定类型
* @param rClazz 返回类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/27 上午9:52
*/
List list(Class rClazz);
/**
* 查询所有,返回指定类型
* @param typeReference 返回类型
* @author anwen
* @date 2024/5/28 下午9:03
*/
List list(TypeReference typeReference);
/**
* 管道查询
* @param aggregate 管道
* @return {@link List}
* @author anwen
* @date 2024/6/23 下午5:03
*/
List list(Aggregate> aggregate);
/**
* 管道查询
* @param aggregate 管道
* @param rClass 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:04
*/
List list(Aggregate> aggregate, Class rClass);
/**
* 管道查询
* @param aggregate 管道
* @param typeReference 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:04
*/
List list(Aggregate> aggregate, TypeReference typeReference);
/**
* 查询单个
* @param queryChainWrapper 条件
* @return {@link T}
* @author anwen
* @date 2024/6/23 下午5:12
*/
T one(QueryChainWrapper queryChainWrapper);
/**
* 查询单个
* @param queryChainWrapper 条件
* @param rClazz 返回值类型
* @return {@link R}
* @author anwen
* @date 2024/6/23 下午5:13
*/
R one(QueryChainWrapper queryChainWrapper,Class rClazz);
/**
* 查询单个
* @param queryChainWrapper 条件
* @param typeReference 返回值类型
* @return {@link R}
* @author anwen
* @date 2024/6/23 下午5:13
*/
R one(QueryChainWrapper queryChainWrapper,TypeReference typeReference);
/**
* 查询列表
* @param queryChainWrapper 条件
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:13
*/
List list(QueryChainWrapper queryChainWrapper);
/**
* 查询列表
* @param queryChainWrapper 条件
* @param rClazz 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:13
*/
List list(QueryChainWrapper queryChainWrapper,Class rClazz);
/**
* 查询列表
* @param queryChainWrapper 条件
* @param typeReference 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:13
*/
List list(QueryChainWrapper queryChainWrapper,TypeReference typeReference);
/**
* 获取总数
* @return {@link long}
* @author anwen
* @date 2024/6/23 下午5:06
*/
long count();
/**
* 获取总数
* @param queryChainWrapper 条件
* @return {@link long}
* @author anwen
* @date 2024/6/23 下午5:06
*/
long count(QueryChainWrapper queryChainWrapper);
/**
* 分页查询
* @param pageParam 分页参数对象
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(PageParam pageParam);
/**
* 分页查询
* @param pageParam 分页参数对象
* @param rClazz 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:07
*/
PageResult page(PageParam pageParam,Class rClazz);
/**
* 分页查询
* @param pageParam 分页参数对象
* @param typeReference 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:07
*/
PageResult page(PageParam pageParam,TypeReference typeReference);
/**
* 分页查询
* @param pageParam 分页参数对象
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(PageParam pageParam, Integer recentPageNum);
/**
* 分页查询
* @param pageParam 分页参数对象
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param rClazz 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:07
*/
PageResult page(PageParam pageParam, Integer recentPageNum,Class rClazz);
/**
* 分页查询
* @param pageParam 分页参数对象
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param typeReference 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:07
*/
PageResult page(PageParam pageParam, Integer recentPageNum,TypeReference typeReference);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(Integer pageNum,Integer pageSize);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param rClazz 返回值类型
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(Integer pageNum,Integer pageSize,Class rClazz);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param typeReference 返回值类型
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(Integer pageNum,Integer pageSize,TypeReference typeReference);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(Integer pageNum,Integer pageSize, Integer recentPageNum);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param queryChainWrapper 条件
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, PageParam pageParam);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize, Integer recentPageNum);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, PageParam pageParam, Integer recentPageNum);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param rClazz 返回值类型
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(Integer pageNum,Integer pageSize, Integer recentPageNum,Class rClazz);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param typeReference 返回值类型
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(Integer pageNum,Integer pageSize, Integer recentPageNum,TypeReference typeReference);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param queryChainWrapper 条件
* @param rClazz 返回值类型
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize,Class rClazz);
/**
* 分页查询
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param queryChainWrapper 条件
* @param typeReference 返回值类型
* @return com.anwen.mongo.sql.model.PageResult
* @author JiaChaoYang
* @date 2023/6/25/025
*/
PageResult page(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize,TypeReference typeReference);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @param rClazz 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, PageParam pageParam,Class rClazz);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @param typeReference 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, PageParam pageParam,TypeReference typeReference);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param rClazz 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize, Integer recentPageNum,Class rClazz);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param typeReference 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize, Integer recentPageNum,TypeReference typeReference);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param rClazz 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, PageParam pageParam, Integer recentPageNum,Class rClazz);
/**
* 分页查询
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @param recentPageNum 查询最近n页的数据 {参数=null 表示仅查询当前页数据} {参数取值[5-50] 表示查询最近[5-50]页的数据 建议recentPageNum等于10 参考 百度分页检索}
* @param typeReference 返回值类型
* @return {@link com.anwen.mongo.model.PageResult}
* @author anwen
* @date 2024/6/23 下午5:08
*/
PageResult page(QueryChainWrapper queryChainWrapper, PageParam pageParam, Integer recentPageNum,TypeReference typeReference);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param pageParam 分页参数对象
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:10
*/
List pageList(PageParam pageParam);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param pageParam 分页参数对象
* @param rClazz 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:10
*/
List pageList(PageParam pageParam,Class rClazz);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param pageParam 分页参数对象
* @param typeReference 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:10
*/
List pageList(PageParam pageParam, TypeReference typeReference);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:10
*/
List pageList(Integer pageNum,Integer pageSize);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param rClazz 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:10
*/
List pageList(Integer pageNum,Integer pageSize,Class rClazz);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param typeReference 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:10
*/
List pageList(Integer pageNum,Integer pageSize,TypeReference typeReference);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param queryChainWrapper 条件
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:11
*/
List pageList(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param queryChainWrapper 条件
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param rClazz 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:11
*/
List pageList(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize,Class rClazz);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param queryChainWrapper 条件
* @param pageNum 当前页
* @param pageSize 每页显示行数
* @param typeReference 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:11
*/
List pageList(QueryChainWrapper queryChainWrapper, Integer pageNum, Integer pageSize,TypeReference typeReference);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:11
*/
List pageList(QueryChainWrapper queryChainWrapper, PageParam pageParam);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @param rClazz 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:11
*/
List pageList(QueryChainWrapper queryChainWrapper, PageParam pageParam,Class rClazz);
/**
* 返回List的page,无需进行count查询,速度会比较快
* @param queryChainWrapper 条件
* @param pageParam 分页参数对象
* @param typeReference 返回值类型
* @return {@link java.util.List}
* @author anwen
* @date 2024/6/23 下午5:11
*/
List pageList(QueryChainWrapper queryChainWrapper, PageParam pageParam,TypeReference typeReference);
/**
* 根据id查询单个
* @param id id
* @return T
* @author JiaChaoYang
* @date 2023/6/25/025
*/
T getById(Serializable id);
/**
* 根据id查询单个
* @param id id
* @return T
* @author JiaChaoYang
* @date 2023/6/25/025
*/
R getById(Serializable id,Class rClazz);
/**
* 根据id查询单个
* @param id id
* @return T
* @author JiaChaoYang
* @date 2023/6/25/025
*/
R getById(Serializable id,TypeReference typeReference);
/**
* 根据多个id查询
* @param ids id集合
* @return {@link List}
* @author anwen
* @date 2024/5/2 上午12:43
*/
List getByIds(Collection extends Serializable> ids);
/**
* 根据多个id查询
* @param ids id集合
* @return {@link List}
* @author anwen
* @date 2024/5/2 上午12:43
*/
List getByIds(Collection extends Serializable> ids,Class rClazz);
/**
* 根据多个id查询
* @param ids id集合
* @return {@link List}
* @author anwen
* @date 2024/5/2 上午12:43
*/
List getByIds(Collection extends Serializable> ids,TypeReference typeReference);
/**
* 命令查询接口,传入值为json,如{eq:XXX}
* @param command 命令json
* @return java.util.List
* @author JiaChaoYang
* @date 2023/12/30 23:28
*/
List queryCommand(String command);
/**
* 命令查询接口,传入值为json,如{eq:XXX}
* @param command 命令json
* @return java.util.List
* @author JiaChaoYang
* @date 2023/12/30 23:28
*/
List queryCommand(String command,Class rClazz);
/**
* 命令查询接口,传入值为json,如{eq:XXX}
* @param command 命令json
* @return java.util.List
* @author JiaChaoYang
* @date 2023/12/30 23:28
*/
List queryCommand(String command,TypeReference typeReference);
/**
* 根据某一列查询
* @param field 字段
* @param fieldValue 字段值
* @return List
* @author JiaChaoYang
* @date 2023/10/19 23:28
*/
List getByColumn(SFunction field,Object fieldValue);
/**
* 根据某一列查询
* @param field 字段
* @param fieldValue 字段值
* @return List
* @author JiaChaoYang
* @date 2023/10/19 23:28
*/
List getByColumn(SFunction field,Object fieldValue,Class rClazz);
/**
* 根据某一列查询
* @param field 字段
* @param fieldValue 字段值
* @return List
* @author JiaChaoYang
* @date 2023/10/19 23:28
*/
List getByColumn(SFunction field,Object fieldValue,TypeReference typeReference);
/**
* 根据某一列查询
* @param field 字段
* @param fieldValue 字段值
* @return T
* @author JiaChaoYang
* @date 2023/10/19 23:30
*/
List getByColumn(String field,Object fieldValue);
/**
* 根据某一列查询
* @param field 字段
* @param fieldValue 字段值
* @return T
* @author JiaChaoYang
* @date 2023/10/19 23:30
*/
List getByColumn(String field,Object fieldValue,Class rClazz);
/**
* 根据某一列查询
* @param field 字段
* @param fieldValue 字段值
* @return T
* @author JiaChaoYang
* @date 2023/10/19 23:30
*/
List getByColumn(String field,Object fieldValue,TypeReference typeReference);
/**
* 是否存在
* @param id id
* @return java.lang.Boolean
* @author JiaChaoYang
* @date 2024/2/3 13:42
*/
Boolean exist(Serializable id);
/**
* 是否存在
* @param queryChainWrapper wrapper条件
* @return java.lang.Boolean
* @author JiaChaoYang
* @date 2024/2/3 13:41
*/
Boolean exist(QueryChainWrapper queryChainWrapper);
/**
* 创建索引
* @param bson 描述索引键的对象,该对象不能为 null
* @return java.lang.String
* @author JiaChaoYang
* @date 2023/11/15 14:04
*/
String createIndex(Bson bson);
/**
* 使用给定的键和选项创建索引。
* @param bson 描述索引键的对象,该对象不能为 null
* @param indexOptions 指数的选项
* @return java.lang.String
* @author JiaChaoYang
* @date 2023/11/15 15:37
*/
String createIndex(Bson bson, IndexOptions indexOptions);
/**
* 创建多个索引
* @param indexes 索引列表
* @return java.util.List
* @author JiaChaoYang
* @date 2023/11/15 15:34
*/
List createIndexes(List indexes);
/**
* 创建多个索引
* @param indexes 索引列表
* @param createIndexOptions 创建索引时要使用的选项
* @return java.util.List 索引名称列表
* @author JiaChaoYang
* @date 2023/11/15 15:34
*/
List createIndexes(List indexes, CreateIndexOptions createIndexOptions);
/**
* 获取此集合中的所有索引。
*
* @return 列表索引可迭代接口
*/
List listIndexes();
/**
* 删除给定其名称的索引。
*
* @param indexName 要删除的索引的名称
*/
void dropIndex(String indexName);
/**
* 删除给定其名称的索引。
*
* @param indexName 要删除的索引的名称
* @param dropIndexOptions 删除索引时要使用的选项
*/
void dropIndex(String indexName, DropIndexOptions dropIndexOptions);
/**
* 在给定用于创建索引的键的情况下删除索引。
*
* @param keys 要删除的索引的键
*/
void dropIndex(Bson keys);
/**
* 在给定用于创建索引的键的情况下删除索引。
*
* @param keys 要删除的索引的键
* @param dropIndexOptions 删除索引时要使用的选项
* @since 3.6
*/
void dropIndex(Bson keys, DropIndexOptions dropIndexOptions);
/**
* 删除此集合上的所有索引,但 _id 上的默认值除外。
*
*/
void dropIndexes();
/**
* 删除此集合上的所有索引,但 _id 上的默认值除外。
*
* @param dropIndexOptions 删除索引时要使用的选项
* @since 3.6
*/
void dropIndexes(DropIndexOptions dropIndexOptions);
/**
* 获取当前service所对应的泛型类
* @return {@link Class}
* @author JiaChaoYang
* @date 2024/1/19 16:22
*/
Class getGenericityClass();
/**
* 获取当前service所对应的MongoCollection
* @author JiaChaoYang
* @date 2024/1/19 16:22
*/
MongoCollection getCollection();
/**
* 获取当前service所对应的MongoCollection
* @author JiaChaoYang
* @date 2024/1/19 16:22
*/
MongoCollection getCollection(String database);
/**
* 获取条件构造器
* @author anwen
* @date 2024/6/25 下午9:05
*/
LambdaQueryChainWrapper lambdaQuery();
/**
* 获取管道构造器
* @return {@link com.anwen.mongo.aggregate.LambdaAggregateChainWrapper}
* @author anwen
* @date 2024/6/20 下午11:34
*/
LambdaAggregateChainWrapper lambdaAggregate();
/**
* 获取管道构造器
* @author anwen
* @date 2024/6/20 下午11:34
*/
LambdaAggregateChainWrapper lambdaAggregates();
/**
* 获取修改条件构造器
* @author anwen
* @date 2024/6/25 下午9:05
*/
LambdaUpdateChainWrapper