Упомянутая в вопросе функция javascript выглядит как Couchbase Map / Reduce View Engine .Они могут быть запрошены с использованием SDK или REST API, а подробности изложены в разделе Просмотр запросов .Кроме того, пользовательский интерфейс Map / Reduce View (то же место, где определяются функции map / Reduce) имеет некоторые ограниченные возможности для запроса определяемого представления.
Пользовательский интерфейс Couchbase Query предназначен исключительно для запросов N1QL / SQL ++.Упомянутая функция может быть выражена в N1QL очень легко:
CREATE INDEX ON mybucket(accountId) WHERE _class == "com.abc.xyz.Account";
Так что нет необходимости создавать представления Couchbase Map / Reduce.И указанный выше индекс может быть запрошен, например, как:
SELECT count(*) FROM mybucket WHERE _class == "com.abc.xyz.Account";
Я уверен, что упомянутая выше функция является лишь примером, и фактический вариант использования более сложный, но общий подход все жеСправедливо.Хорошая идея начать с использования декларативного инструмента (N1QL), так как его гораздо проще использовать.
Для этого есть много полезных ресурсов, таких как N1QL Tutorial , чтобы помочь начать использовать N1QL.Это будет наилучшей отправной точкой для большинства случаев использования.