2014-09-24 5 views
0

Я использую node.js и ищу способ получить все документы определенного ведра couchbase. Есть ли какое-либо решение без наличия цикла и инкрементного индекса? Я знаю, что могу сделать атомный ключ, а потом использовать его через цикл для извлечения всех данных. Но мне нужна функция, которая возвращает все документы. Есть ли какая-либо функция, которая «по крайней мере» возвращает мне количество документов, уже существующих в ведре?Получение всех записей (документов) Couchbase

ответ

1

У меня был этот вопрос передо мной, а также, как и команда инженеров Couchbase, это невозможно без просмотра. Поэтому у меня получилось соглашение об именах для представления, которое должно присутствовать в каждом ведре, что я хочу иметь список всех ключей.

Я называю это «Ключи» и моя функция карты, как это:

function (doc, meta) { 
    emit(meta.id, null); 
} 

Итак на моего клиента, я могу перебрать все документы в ведро ... так как я знаю, что все ключи.

Другой вариант - использовать N1QL, чтобы получить все ключи. Это новый язык запросов вводится в Couchbase 3. Таким образом, вы можете написать запрос, как это вернуть все документы ключи:

SELECT META().id AS id 
FROM your_bucket_name 

Или вы можете вернуть себе все документы:

SELECT * 
FROM your_bucket_name 

Проверить Node.js and N1QL для Дополнительная информация.

+0

Спасибо за помощь. Я знал, что N1QL я хочу использовать. Но есть ошибка. Не могли бы вы рассказать свое мнение об этом сообщении: http: //stackoverflow.com/questions/26044397/n1ql-and-node-on-couchbase – Danial

Смежные вопросы