函数
Mars 与 spring 相关方法 名称对比
CRUD 部分
插入数据 CREATE
Save 保存数据
| 方法类型 | Mars 方法 | Spring 方法 |
|---|---|---|
| save | public |
public |
| save | public |
public |
| save | public |
public |
| save | public |
none |
| save | public |
none |
| save | public |
none |
| save | public |
none |
| save | public |
none |
Insert 插入数据
| 方法类型 | Mars 方法 | Spring 方法 |
|---|---|---|
| insertOne | public |
public |
| insertOne | public |
public |
| insertOne | public |
none |
| insertOne | public |
none |
| ----------- | -------------------- | ---------------------- |
| insertMany | public |
public |
| insertMany | public |
public |
| insertMany | public |
none |
| insertMany | public |
none |
| insertMany | none | public |
update 方法
相关 upsert 方法 已经全部 封装在 相关update 的 Option 中
new UpdateOptions().upsert(true);
updateFirst 全部封装在Option 参数中
new UpdateOptions().multi(false);
方法对比
| 方法类型 | Mars 方法 | Spring 方法 |
|---|---|---|
| update | public |
UpdateResult updateMulti(Query query, UpdateDefinition update, Class<?> entityClass); |
| update | public |
UpdateResult updateMulti(Query query, UpdateDefinition update, String collectionName); |
| update | none | UpdateResult updateMulti(Query query, UpdateDefinition update, Class<?> entityClass, String collectionName); |
| update | public |
none |
| update | public |
none |
| update | public |
none |
新增如下方法 以对象方式进行传参,同时解析到该对象对应的基础表信息
public <T> UpdateResult updateEntity(Query query, T entity)
public <T> UpdateResult updateEntity(Query query, T entity, UpdateOptions options)
public <T> UpdateResult updateEntity( Query query, T entity, String collectionName )
public <T> UpdateResult updateEntity( Query query, T entity, UpdateOptions options, String collectionName )
读取数据 READ
FindOne
方法对比
| 方法类型 | Mars 方法 | Spring 方法 |
|---|---|---|
| findOne | public |
|
| findOne | public |
|
| ### FindAll |
| 方法类型 | Mars 方法 | Spring 方法 |
|---|---|---|
| FindAll | public |
|
| FindAll | public |
|
| FindAll | none | |
| FindAll | none |
tips:
①关于 批量查找的可以传入空Query
②Cursor 与 List 转换 可以通过toList() 方法实现
删除数据 DELETE
方法对比
| 方法类型 | Mars 方法 | Spring 方法 |
|---|---|---|
| delete | public |
DeleteResult remove(Query query, Class<?> entityClass); |
| delete | public |
---- |
| delete | public DeleteResult delete(Query query, String collectionName) | DeleteResult remove(Query query, String collectionName); |
| delete | public DeleteResult delete(Query query, String collectionName, DeleteOptions options) | ---- |
| delete | public DeleteResult delete(Query query, Class<?> entityClass, String collectionName) | DeleteResult remove(Query query, Class<?> entityClass, String collectionName) |
| delete | public |
---- |
批量删除&&单文档删除
new DeleteOptions().multi(true);
REMOVE
remove() 相关说明 remove 是delete 方法的别名 已在MongoDB 中弃用
单文档事务
FindAndModify
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, FindOneAndUpdateOptions options, Class<T> entityClass)
public <T> T findAndModify(Query query, UpdateDefinition update, FindOneAndUpdateOptions options, Class<T> entityClass,
String collectionName);
FindAndReplace
public <T> T findAndReplace(Query query, T replacement)
public <T> T findAndReplace(Query query, T replacement, String collectionName)
public <T> T findAndReplace(Query query, T replacement, FindOneAndReplaceOptions options)
public <T> T findAndReplace(Query query, T replacement, FindOneAndReplaceOptions options, String collectionName)
public <T> T findAndReplace(Query query, T replacement, FindOneAndReplaceOptions options, Class<T> entityType,
String collectionName)
public <S, T> T findAndReplace(Query query, S replacement, FindOneAndReplaceOptions options, Class<S> entityType,
Class<T> resultType)
public <S, T> T findAndReplace(Query query, S replacement, FindOneAndReplaceOptions options, Class<S> entityType,
String collectionName, Class<T> resultType);
FindAndDelete
public <T> T findAndDelete(Query query, Class<T> entityClass)
public <T> T findAndDelete(Query query, Class<T> entityClass, String collectionName)
public <T> T findAndDelete(Query query ,Class<T> entityClass, String collectionName,FindOneAndDeleteOptions options);
说明
以上 单文档事务操作方法签名如上所示
内部实现主要为基于 session 的 因果一致性考虑。
统计文档
| 方法类型 | Mars 方法 | Spring 方法 |
|---|---|---|
| count | long count(Query query, Class<?> entityClass, CountOptions countoptions ,String collectionName); | none |
| count | long count(Query query, Class<?> entityClass, String collectionName); | long count(Query query, Class<?> entityClass, String collectionName); |
| count | ||
| count | ||
| count | ||
| count |