相关疑难解决方法(0)

使用spring data mongodb删除对象中的数组条目

我最近花了一些时间尝试$pull通过Spring的Data MongoOperations接口使用运算符,所以我认为如果有人碰到类似的问题,分享我的发现会很好.

所以这里......

我有2个java POJO,如下所示:

@Document
public class OutterObject{

    private String id;
    private String name;
    private List<InnerDocument> innerDocs;


    //SETTERS - GETTERS Ommited


public class InnerDocument{


    private String id;
    private String name;

         //SETTERS - GETTERS Ommited
Run Code Online (Sandbox Code Playgroud)

这存储在Mongo集合中,如下所示:

 "_id" : "doc2",
 "_class" : "OutterObject",
 "name" : "doc2",
 "innerDocs" : [{
      "_id" : "innerDoc21",
      "name" : "innerDoc21"
  }, {
      "_id" : "innerDoc22",
      "name" : "innerDoc22"
  }]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用$ pull运算符来删除具有名称值="innerDoc22"的innerDoc集合中的所有对象.

我知道如何使用mongo驱动程序完成此操作,如下所示:

 List<String> ids = 
         Arrays.asList("innerDoc22");

 BasicDBObject find = new BasicDBObject();

 match.put("innerDocs.name", 
           BasicDBObjectBuilder.start("$in", ids).get()); …
Run Code Online (Sandbox Code Playgroud)

mongodb spring-data

5
推荐指数
1
解决办法
9496
查看次数

MongoDB Java拉

我尝试删除嵌入式文档而没有成功.我正在寻找以下指令的java方式:

db.games.update({'_id': 73}, {$pull: {'goals': {'goal': 4}}})
Run Code Online (Sandbox Code Playgroud)

java document pull mongodb

5
推荐指数
1
解决办法
5039
查看次数

标签 统计

mongodb ×2

document ×1

java ×1

pull ×1

spring-data ×1