Насколько я понимаю, вы не можете выполнить ИЛИ из одного запроса.
(Начиная с CouchDB 2.1, конечная точка _queries еще не доступна. Вв будущем вы сможете запрашивать несколько запросов в одном и том же HTTP-запросе.)
Используя синтаксис startkey и endkey, OR будет эквивалентен:
createBy
- startKey = [Джон]
- endkey = [Джон, {}]
updatedBy
startKey = [null, john]
endkey = [{}, john]
Тогда,Вы могли бы сделать объединение двух наборов результатов.
Если вы используете CouchDB 2.X, вам следует использовать селектор Mango с оператором $ или .
Другое решение
Вы можете создатьконкретное представление для этого запроса.
Например, вы должны проиндексировать как updatedBy, так и созданный By.
if (doc.$doctype === 'Records') {
emit([doc.createdBy, doc.createdAt]);
emit([doc.updatedBy, doc.createdAt]);
}
Затем вы можете запросить его с помощью startkey=[author]&endkey=[author,{}]