MongDB之各种删除操作
接口IMongDaoDelete:
package com.net.test.mongdb.dao;
public interface IMongDaoDelete {
public void deleteByName(String name);
public void deleteLikeName(String name);
public void deleteArrFirst(String name);
public void pullDomArray(String name,String key,String value);
}
实现类:
package com.net.test.mongdb.dao.imp; import javax.annotation.Resource; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.data.mongodb.core.query.Update.Position;
import org.springframework.stereotype.Repository; import com.net.test.mongdb.dao.IMongDaoDelete;
import com.net.test.mongdb.entity.User; /**
* @author ****
* @Time:2017年8月4日 上午10:34:06
* @version 1.0
* Function: Delete
*/
@Repository
public class MongDaoDeleteImp implements IMongDaoDelete{ @Resource
protected MongoTemplate mongoTemplate; /**
* @description 单条精确删除对象
* @param name
*/
@Override
public void deleteByName(String name)
{
Query query = Query.query(Criteria.where("name").is(name));
mongoTemplate.remove(query, User.class);
} /**
* @description 模糊删除对象,批量
* @param name
*/
@Override
public void deleteLikeName(String name)
{
Query query = Query.query(Criteria.where("name").regex(name));
mongoTemplate.remove(query, User.class);
} /**
*
* @description 删除user元素中hobby属性数组元素的开头或者结尾,根据参数而定
* @param name
*/
@Override
public void deleteArrFirst(String name)
{
Query query = Query.query(Criteria.where("name").is(name)); Update update = new Update();
update.pop("hobby", Position.FIRST);
mongoTemplate.updateFirst(query, update, User.class); update.pop("hobby", Position.LAST);
mongoTemplate.updateFirst(query, update, User.class);
} /**
* @description 根据hobby数组的具体对象值,删除对象的数组数据
* @param name 行数据名称
* @param key 数组键
* @param value 数组值
*/
@Override
public void pullDomArray(String name,String key, String value)
{
Query query = new Query();
query.addCriteria(Criteria.where("name").is(name)); Update update = new Update();
update.pull(key, value); mongoTemplate.updateFirst(query, update, User.class);
} }
MongDB之各种删除操作的更多相关文章
- Entity Framework 6 Recipes 2nd Edition(10-8)译 - >映射插入、修改、删除操作到存储过程
10-8. 映射插入.修改.删除操作到存储过程 问题 想要映射插入.修改.删除操作到存储过程 解决方案 假设已有运动员实体模型,如Figure 10-8所示. 对应的数据库表如Figure 10-9所 ...
- Entity Framework 6 Recipes 2nd Edition(10-10)译 - > 为TPH继承的插入、更新、删除操作映射到存储过程
10-10. 为TPH继承的插入.更新.删除操作映射到存储过程 问题 TPH继承模型,想把它的插入.修改.删除操作映射到存储过程 Solution 假设数据库有一个描述不同种类的产品表(Product ...
- JSON相关知识,转载:删除JSON中数组删除操作
一:JSON是什么 JSONg格式:对象是一个无序的“名称/值”对的集合. 对象以括号开始,括号结束. 名称冒号分隔值. "名称/值"之间用逗号分隔 例: var people = ...
- webform 光棒效果,删除操作弹出确定取消窗口
鼠标移入onmouseover和鼠标移出onmouseout,代码里没大写我这也就不大写了.那首先,我们得获取Class为tr_item里的所有东西,也就是项标签里的数据.然后呢,我们定义一个oldC ...
- UVa 11987 Almost Union-Find(支持删除操作的并查集)
传送门 Description I hope you know the beautiful Union-Find structure. In this problem, you’re to imple ...
- 使用Ajax实现的批量删除操作(C#)
今天做了一个简单的批量删除操作,虽然简单,但是很多问题出现,终究还是技术不够熟练. 现在在这里跟大家分享一下.仅供学习... 1.在前台获取用户点击的信息id,把这里id封装到一个数组里面:(rows ...
- mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?
本文是记录Java中实现批量删除操作(Java对数据库进行事务处理),在开始之前先来看下面这样的一个页面图: 上面这张图片显示的是从数据库中查询出的出租信息,信息中进行了分页处理,然后每行的前面提 ...
- RCP:导航器视图删除操作快捷键失效的解决方案
导航器视图按下“Delete”的时候,会触发删除节点的操作.如果失效,按以下步骤检查: 1.在要删除的节点上点击右键,确定删除操作是否生效.如果没有生效,则按下列位置 a)检查navigator扩展配 ...
- 数据库的SQL语句创建和主外键删除操作
create table UserType ( Id ,), Name nvarchar() not null ) go create table UserInfo ( Id ,), LoginPwd ...
随机推荐
- cocos
cocos compile -p android --android-studio --app-abi=armeabi-v7a ./adb kill-server&& ./adb se ...
- Hibernate的工作流程以及三种状态(面试题)
Hibernate的工作流程以及三种状态 部分转载自:http://www.cnblogs.com/fifiyong/p/6390699.html Hibernate的工作流程: 1. 读取并解析配置 ...
- phpcms文件结构
主要目录部分 /admin 管理后台目录 -- /skin/ 后台样式 -- /templates/ 后台样式模板 /api api接口 /corpandresiz ...
- pat1067. Sort with Swap(0,*) (25)
1067. Sort with Swap(0,*) (25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue G ...
- Rspec基本语法
引用链接:http://reverocean.iteye.com/blog/1489957 1. describe和context describe和context方法用来组织相关的行为example ...
- [LeetCode]7. Reverse Integer整数反转
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...
- Linux下安装JDK及相关配置
1.官网下载JDK:选择Linux压缩包进行下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- 一、基础知识 React API 一览
1.10 Hooks 参考文章:https://juejin.im/post/5be3ea136fb9a049f9121014 demo: /** * 必须要react和react-dom 16.7以 ...
- 1269 匈牙利游戏 2012年CCC加拿大高中生信息学奥赛
1269 匈牙利游戏 2012年CCC加拿大高中生信息学奥赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description ...
- git reset命令学习
我们在使用git进行版本管理的时候,如果遇到需要回退代码的情况,一般会用 git reset 命令,不过这个命令还有几个参数,这篇文章就来详解一下. 先来了解一下 git 大致的工作流程,配合这张图会 ...