mongoTemplate.update\upsert

2022-06-20  本文已影响0人  催化剂

/**

* mongo更新操作

* @param queryKey 查询key

* @param queryValue 查询value

* @param updateKey 需要更新的字段

* @param UpdateValue 需要更新字段的值

    * @param class 对应实体类

*/

private void mongoUpdate(String queryKey,Object queryValue,String updateKey,Object UpdateValue,String class) {

Query query = new Query();

query.addCriteria(Criteria.where(queryKey).is(queryValue));

Update update = new Update();

update.set(updateKey, UpdateValue);

mongoTemplate.updateMulti(query, update, class.class);//mongoDB 更新操作

}

mongoTemplate通过upsert实现数据存在就更新,不存在就插入数据

// 查询条件,如果数据存在更新

Query query = new Query();

query.addCriteria(Criteria.where("statisticsDatetime").is(e.getStatisticsDatetime()));

query.addCriteria(Criteria.where("storeId").is(e.getStoreId()));

// 更新的字段

Update update = new Update(); update.set("expenseStatisticsList", e.getExpenseStatisticsList());

update.set("parentStoreId", e.getParentStoreId());

update.set("storeType", e.getStoreType());

mongoTemplate.upsert(query, update, ContractItemExpenseStatistics.class, MongodbTableEnum.expense_statistics.getValue());

上一篇 下一篇

猜你喜欢

热点阅读