Моя задача заключается в создании репозитория, расширяющего MongoDBRepository, который позволяет мне определять вид метода findAndUpdate. MongoOps и шаблонный подход не допускаются. Вот так выглядит мой MongoDocument:
{"_id":"somedocumentId","attributetype1":{"class":"type1","value":"somevalue"},
"attributetype2":{"class":"type2","value":"somevalue"},
"attributetype3":{{"class":"type2","value":"somevalue"},{"class":"type2","value":"somevalue"},...,}
Как видите, некоторые атрибуты являются просто значениями классов, а другие - списками.
Вот запрос на обновление, который я получаю от моей подсистемы обмена сообщениями:
{"documentId":"somedocumentIdValue","updatedata":{"class":"typeX","value":"somevalue"}
Если тип данных запроса является просто значением класса (например, attributetype1 и 2), мне нужно обновить его, если данные обновления имеют тип, который сохраняется в виде списка, мне нужно добавить его.
Что бы вы предложили в этом случае?