Я новичок в Morphia
и пытается обновить существующий встроенный массивList объекта. Вот мой класс:Как обновить список встроенных объектов в морфию?
@Entity
public class Student {
@Embedded private List<Address> address;
private String name;
private Long id;
... getter and setter .. methods
}
@Embedded
public class Address {
private Long customId;
private String name;
... getter and setter .. methods
}
Json
для указанного класса:
{
"student":{
"address": [{
"customId": "123456",
"name": "Jack"
}, {
"customId": "78901",
"name": "sam"
}],
"name": "Teacher",
"id" : 1234567890
}
я должен обновить address.name
где address.customId
является 78901
. Я пытался следовать документации Morphia
, но ничего не нашел.
Я думал удалить элементы сначала с 78901
address.customId
, затем добавить данные в существующий список. Для удаления данных я сделал это:
UpdateOperations<Student> ops;
Query<Student> updateQuery = datastore.createQuery(Student.class).filter("id", 1234567890);
ops = datastore.createUpdateOperations(Student.class).disableValidation().removeAll("address", new BasicDBObject("customId", 78901));
Приведенных выше кода успешно удалением ожидающих данных, но я не уверен, как добавить данные в существующий список. Любая помощь будет заметна. Спасибо
Почему вы не манипулируете непосредственно списком java и не сохраняете свою сущность в базе данных? – c4k