Ищете простой текстовый шаблонизатор для генерации запросов - PullRequest
0 голосов
/ 11 июня 2019

Я использую couchbase, которая имеет функцию под названием N1QL, которая похожа на SQl, но для хранилища документов couchbase. Моя проблема в том, что если я хочу сделать запрос по нескольким полям, мне нужно создать шаблон для каждой возможной опции, которая может выйти из-под контроля. Прежде чем я попробовал создать свою собственную систему на основе шаблонов, мне было интересно, есть ли базовый механизм текстовых шаблонов, который поддерживает такие вещи, как if и позволяет мне передавать значения.

Это часть примера запроса

FROM Contacts AS f
 LEFT JOIN Contacts AS t
 ON t._type ="tract_info" AND ANY b IN t.tract_id SATISFIES b = f.tract END
 WHERE f._type="farm" and f.tract IN $3 $4
 order by f.PropertyAddress.streetName, TONUMBER(f.PropertyAddress.houseNumber)

где я хотел бы передать что-то вроде {25,0,(12,25,35),“and ARRAY_COUNT(f.phones) > 0 and ARRAY_COUNT(f.emails) > 0”}

Любая идея или pointesr будет замечательно

1 Ответ

0 голосов
/ 12 июня 2019

В SDK уже есть способ конструировать запросы программно. Вы можете увидеть пример этого в демонстрационном приложении, здесь:

https://github.com/couchbaselabs/try-cb-java/blob/5.0-updates/src/main/java/trycb/service/Airport.java#L36

Это, конечно, Java-код. Но в JS SDK должно быть что-то похожее.

...