Никель в чистом виде есть только в экспериментальной версии 2.0-preview, которой в мавене‑то нету. То что есть в Мавене просто не работает (не может сгенерить бин с реализацией CrudRepository), работает только древнючая 1.2.2 или около того.
Документация не соответствует действительности в важных местах, например при создании backing view для...
... операций типа findAll и count, в документации подчеркивается — нужно юзать emit(null, null) с reduce _count и «не сильно повредит» emit(meta.id, null). (судя по запросам, оно так делает count, для получения данных добавляя в запрос &reduce=false). Во всех этих комбинациях на клиент приходят листы состоящие только из элементов null (вот суки, by the way, теперь еще итерироваться по листам просто чтобы проверить что они пустые). Работает emit (meta.id, doc) с reduce _count.
Документации по селекту по нескольким ключам — нету. Можно логически догадаться, что это делается с помощью composite key view, но документации по этой фиче нету. Можно логически догадаться, но тогда зачем документация?
Кстати, селектнуть по id+полю нельзя. С одной стороны, ну какой мудила будет делать composite key view с id, но ведь сама couchbase вполне отдает emit([meta.id, doc.field], doc), и оно походу нормально возвращается на клиент, но SDC в этом ответе просто не фильтрует по id и отдает пустой список. Наверное это потому, что поле отмеченное @Id — это не @Field, и поэтому не участвует в фильтрации? Ну хорошо, отметил поле как @Id @Field String uuid; — ничего не произошло, видать он стопорится на первой же аннотации.
А теперь фейсбучек снова в бан (127.0.0.1 facebook.com > /etc/hosts ) и будем фигачить на Java SDK