MongoOperations删除内嵌数组元素

之前因为项目缓存数据改造的缘故,接触并学习mongodb。直接在项目中用的spring整合的mongodb,一般的增删查改操作都是在网上找的dmeo,并没有去看Mongodb的官方文档。也就没有学习mongodb基础的shell操作,渐渐地发现自己遇到各种麻烦了。所以又去mongodb官网将shell操作仔细看了,因为在后面会提到。
官方文档地址:[官方文档地址](http://docs.mongoing.com/manual-zh/tutorial/remove-documents.html)

今天遇到一个删除的问题,一直没有百度到答案,后来自己参考其他的例子,琢磨好一会终于搞定了。一起看下:
数据结构如下图:![文档数据结构](https://img-blog.csdn.net/20170525163005247?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWl3dXhpYTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这里我需要删除phase数组中_id为11204的整条记录。代码如下
//先定义查询条件 定位到那条记录
Query query = Query.query(Criteria.where("_id").is(deptId));
//定义一个document,目的是构造一个文档对象
        Document document=new Document("_id",phaseId);
        Update update=new Update();
        //spring-data的API中对此方法没有什么详细的说明,只知道两个参数一个是key,一个是value,别的就不知道拉。得自己去琢磨。因为查看别人给的shell删除数据元素的是用的 { $pull: { links: { name: 'Baidu' } } },所有就构造一个documnet尝试下,没想到还真是的。
        update.pull("phases",document);
        mongoOps.updateFirst(query,update,tableName);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值