Я пытаюсь написать хранимую процедуру в cosmos db для выполнения запроса, который возвращает несколько объектов в зависимости от 2 свойств: строки и целого числа.Параметры, принимаемые процедурой, должны быть строковыми, но вторым свойством в документе является int.
Запрос работает хорошо, когда он выполняется вне процедуры, но когда он находится в процедуре, он каждый раз возвращает пустой массив,
Я пытался создать процедуру с помощью простого запроса, например: 'SELECT * FROM listeLignes l'
, но он также каждый раз возвращает пустой массив.
На самом деле, даже сгенерированный пример хранимой процедуры не работает ивернуть пустой результат.
В коллекции не так много объектов.
function LigneVoiesByCodeLigneOrText(libelle, codeLigne) {
var collection = getContext().getCollection();
var query = 'SELECT * FROM l WHERE 1=1 ';
if(libelle != null){
query = query + 'AND CONTAINS(l.libelle, "'+ libelle +'") ';
}
if(codeLigne != null){
query = query + 'AND CONTAINS(toString(l.codeLigne), "'+ codeLigne +'") ';
}
console.log(query);
var isAccepted = collection.queryDocuments(
collection.getSelfLink(),
query,
function (err, feed, options) {
if (err) throw err;
if (!feed || !feed.length) {
var response = getContext().getResponse();
response.setBody('no docs found');
} else {
var response = getContext().getResponse();
var body = { feed : feed[0] };
response.setBody(JSON.stringify(body));
}
});
if (!isAccepted) throw new Error('The query was not accepted by the server.');
}