Такое ощущение, что это должно быть легко, но простые вещи не работают, поэтому вот так:
Я пытаюсь написать расширение REST API (с использованием SJS), которое будет принимать структурированный запрос, сделайте небольшую манипуляцию с частью, а затем запустите ее. Манипулирование входящим запросом было достаточно простым, но у меня возникли проблемы с результатом. Основной вопрос - если у вас есть структурированный запрос как объект JS, как вы его выполняете? Я хочу получить JSON в результате.
JSearch выглядел как правильный подход, но, похоже, не готов принять то, что я должен ему дать.
Это работает:
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.documents()
.where(cts.parse("cat"))
.result()
Это не:
let query =
{
"wordQuery": {
"text": [ "cat" ],
"options": [ "lang=en" ]
}
};
jsearch.documents()
.where(query)
.result()
Это приводит к
JSEARCH-INVALARGS: fn. ошибка (ноль, "JSEARCH-INVALARGS", msg);- Неверные аргументы: где () принимает один или массив объектов cts.query ()
query
- это объект JS. Я попытался превратить его в узел, но получил тот же результат. Как использовать объект JS, который содержит структурированный запрос?