tl;dr
Ще са необходими персонализирани реализации за хранилището и контролера.
Подробности
Трябва да сме сигурни, че не се губим във всички различни аспекти, които споменавате тук. Ще се опитам да разплета клоните отдолу нагоре:
Изпълнение на MongoDB скриптове
Като справочна документация за изпълнение на скриптове с MongoDB
състояния (и вие вече открихте), функционалността се предоставя by MongoTemplate
ScriptOperations
на . Следователно как да използвате този API трябва да е ясно. Консултирайте се с Javadoc за повече информация.
Изпълнение на скриптове чрез Spring Data хранилища
Следващото нещо, което искате, е изпълнението на тези скриптове чрез абстракцията на хранилището. За да не изхвърлим бебето заедно с водата за къпане тук, уверете се, че разбираме целта на едно хранилище:то симулира колекция от агрегатни корени и достъп до тях без да излага основния механизъм за устойчивост . Излагане на типове като ExecutableMongoScript
в хранилището би нарушил последната черта. Следователно правилният подход тук е да се създаде персонализирана реализация за тази конкретна функционалност, както е описано в референтна документация за Spring Data хранилища
.
Излагане на функционалността чрез REST
Предполагам, че имате предвид функцията на Spring Data REST, за да изложите специален ресурс за метода на заявка за хранилище във вашия въпрос. Понастоящем Spring Data REST излага автоматично само декларативни методи за заявки, най-вече поради причината, че е трудно да се разсъждава относно правилния HTTP метод, който да се поддържа за персонализирани реализации, тъй като не можем да познаем какво се случва вътре в метода.
Препоръчителният начин за излагане на персонализирани методи за заявка на хранилище с помощта на персонализиран контролер с @RequestMapping
отговарящи на вашата цел, извикване на хранилището и използване на PersistentEntityResourceAssembler
може да се инжектира в метода на манипулатора, за да се създаде PersistentEntityResource
за връщане.