MongoOperations删除内嵌数组元素

xiaoxiao2021-02-28  22

之前因为项目缓存数据改造的缘故,接触并学习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);
转载请注明原文地址: https://www.6miu.com/read-800283.html

最新回复(0)