/**
* 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());









网友评论