Я довольно новыми для CouchDB, и я до сих пор есть некоторые проблемы, обертывание мою голову вокруг всего MapReduce пути запрашивая мои данные ...связанных граф документов в CouchDB
Чтобы остаться с традиционным «Блог» Например, скажем, у меня есть 2 вида документов: post
и comment
... каждый комментарий документ имеет post_id
поля ...
есть ли способ я могу получить список сообщений с количеством замечаний по каждому из этих сообщений с одним запросом? Скажем, я хочу, чтобы отобразить список заголовков с количеством комментариев для каждого пост, как это:
My First Post: 4 comments
My Second Post: 6 comments
....
Я знаю, что может сделать следующее:
function(doc) {
if(doc.type == "comment") {
emit(doc.post_id, 1);
}
}
, а затем уменьшить его, как это :
function (key, values, rereduce) {
return sum(values);
}
который дает мне список каждого идентификатора блога с количеством комментариев для каждой записи. Но тогда мне нужно получать заголовки сообщений в блогах отдельно, так как единственное, что у меня есть сейчас, это их идентификатор ...
Итак, есть ли способ получить список всех заголовков блога с указанием количества комментарии для каждого сообщения, выполнив только 1 запрос?
Я думаю, что основным недостатком, который мы рассмотрим здесь, будет более медленное обновление, так как вам нужно извлечь большой документ, добавить комментарий и отправить все обратно, а затем проверить конфликты и, возможно, начать все, если они есть. –