Сначала я бы предложил, чтобы идентификаторы вставлялись в первую очередь (то есть программно) в одном и том же случае.Composer просто передает запрос к языку запросов CouchDB FYI и учитывает чувствительность к регистру, при котором были введены данные.
Известно ли вам, что вы можете использовать regex
для проверки поля идентификатора (см. Документы на языке моделирования здесь ? - мне кажется очень важным полем (в отличие от поля фамилии).
В своей функции вы можете использовать функцию buildQuery
(например, с одним параметром) в своей функции- или если вы настаиваете на том, чтобы оставить QUERY в queries.qry
, тогда укажите два (нижний и верхний):
query checkOwnerUniqueness{
description: "Select owner with given identifier"
statement:
SELECT org.acme.participant.Owner
WHERE (idNum == _$upper ID idNum == _$lower )
}
var str = "joe123";
var lower = str.toLowerCase();
var upper = str.toUpperCase();
return query('checkOwnerUniqueness', {idNum: str} ) // ID passed in lower case
// OR
// return query('checkOwnerUniqueness', {idNum: lower, idNum: upper}) // upper or lower two parms
.then(function (results) {
for (var n = 0; n < results.length; n++) { // blah
// process all objects returned in the query
}
});
В любом случае, давая вам альтернативы - я думаю, я бы удостоверился, что поле ID всегда вводится втот же случай, просто говорю.