Хорошо, у меня есть база данных MarkLogic 9.0.2, в которой развернуто два приложения. Допустим, A и B. Теперь я хочу запустить некоторый код внутри B из A, мы можем сделать это с xdmp.eval()
, но код, который я хочу запустить, должен найти модуль, развернутый в базе данных модулей B.
Кажется, я не могу заставить это работать.
Выполнение кода внутри базы данных B работает:
declareUpdate();
var prj = require('/root/lib/project-lib.xqy');
prj.createProject('giraffe', 'A project about giraffes');
находит и запускает функцию createProject в библиотеке модулей ...
Теперь из базы данных A я пытаюсь запустить это с помощью xdmp.eval()
вот так:
declareUpdate();
var options = { "isolation" : "different-transaction",
"database" : xdmp.database("data-hub-FINAL"),
"modules" : xdmp.database("data-hub-MODULES")
}
xdmp.eval("declareUpdate();var prj = require('/root/lib/project-lib.xqy');prj.createProject('fromcluey giraffe', 'A project about giraffes from cluey');"
, options);
Но дает мне:
[javascript] XDMP-MODNOTFOUND: declareUpdate (); var prj = require ('/ root / lib / project-lib.xqy'); prj.createProject ('fromcluey giraffe', 'Проект о жирафах от cluey'); - Модуль /root/lib/project-lib.xqy не найден
Может кто-нибудь сказать мне, как я должен найти модуль project-lib.xqy
изнутри A?