如何执行使用Morphia从MongoDb中的嵌套数组中删除元素的查询?

时间:2019-01-17 09:05:49

标签: java mongodb morphia

我有以下mongoDB对象

export default function loadStyle(direction) {

  if (direction === 'ltr') {
    return '/style.css';

  } else {
    return '/style-rtl.css';
  }
}

我需要从中删除一些元素。在本机mongodb查询中,它看起来像

{
    "_id" : ObjectId("5c3f32a4e17c5739bccb9115"),
    "name" : "John",
    "friends" : [
            {
                    "name" : "Paul"
            },
            {
                    "name" : "Lisa"
            }
    ]
}

但是我该如何通过Morhia API做到这一点?

1 个答案:

答案 0 :(得分:0)

我使用以下方法解决了此问题:

Query<Group> query = getDatastore().createQuery(Group.class);
UpdateOperations<Group> ops = getDatastore().createUpdateOperations(Group.class)
                .removeAll("friends", new BasicDBObject("name", "Lisa"));
getDatastore().update(query, ops);