Получение пустого массива при попытке вернуть массив документов JSON с использованием расширения REST (MarkLogic) - PullRequest
0 голосов
/ 11 декабря 2018
function get(context, params) {
    var max = "http://blahblah"; //declaring namespace  

    let query = []

    if (params.tokenNum) {
        query.push(cts.elementValueQuery(fn.QName(max, "TOKENUM"), params.tokenNum))
        query.push(cts.collectionQuery("WORKORDER"))
    }
    if (params.location) {
        query.push(cts.elementValueQuery(fn.QName(max, "LOC"), params.location))
        query.push(cts.collectionQuery("WORKORDER"))
    }
    if (params.Id) {
        query.push(cts.elementValueQuery(fn.QName(max, "ID"), params.Id))
        query.push(cts.collectionQuery("WORKORDER"))
    }

    let result = []

    let doc = fn.subsequence(cts.search(cts.andQuery(query)), params.start, params.length)
    const json = require('/MarkLogic/json/json.xqy');
    let config = json.config("custom");
    for (var d of doc) {
        result.push(json.transformToJson(d, config));
    }
    return result
};

Я пытаюсь вернуть массив документов JSON, используя расширение REST, но все, что я получаю, - это пустой массив. Я использую URL http://localhost:9015/v1/resources/location?rs:Id=ABC&rs:start=1&rs:length=10

Однако, когда я запускаю этокод в консоли запросов с использованием объекта params в качестве теста, подобного этому

let params = {
    start: '1',
    length: '10',
    tokenNum: "100404",
    location: "0256", 
    Id: "ABC"
};

, тогда я получаю то, что я ищу (это массив документов JSON).

Я могуне понять, что идет не так.Буду признателен, если кто-то может помочь

...