Почему нет возможности Upsert с аннотациями Spring-Data-MongoDB?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему нет возможности Upsert с аннотациями Spring-Data-MongoDB?

Сообщение Anonymous »

Используя Mongotemplate в Spring-Data-Mongodb (3.4.18), я могу сделать < /p>

Код: Выделить всё

mongoTemplate
.update(MyClass.class)
.matching(query(where(...)))
.apply(new Update()
.set(...)
.setOnInsert(...)
.upsert();   // this upsert() seems impossible with annotations
Также с использованием mongodb, этот upsert, по -видимому, определяется как upsert: true like:

Код: Выделить всё

db.employee.findAndModify({query:{name:"Ram"},
update:{$set:{department:'Development'}, $setOnInsert: { Gender: 'Female' } },
upsert:true})
< /code>
Тем не менее, при попытке определить это с использованием аннотаций я не могу найти способ указать, что я хочу сделать Upsert: < /p>
public interface MyClassRepository extends MongoRepository {

@Query("{name:'Ram'}")
@Update("{$set:{department:'Development'}, $setOnInsert: { Gender: 'Female' } }")
void upsertDepartmentAndGender(String department, String gender);

}
И это, кажется, ничего не вставляет, если запрос не найдет никакого документа.

Подробнее здесь: https://stackoverflow.com/questions/794 ... nnotations

Вернуться в «JAVA»