перевести этот mysql в представление couchdb? - PullRequest
1 голос
/ 12 ноября 2010

Я совершенно новичок в couchdb и хочу создать представление, основанное на простом утверждении mysql.Я нашел эту документацию: http://guide.couchdb.org/draft/cookbook.html но, к сожалению, включены не все варианты использования.

My MySQL-Statement:

SELECT `title`, `id`, `author`, `date`, `text` FROM `news` WHERE `date`<=NOW() AND `author`='22' ORDER BY `date` DESC LIMIT 20,10;

Большое спасибо!

1 Ответ

1 голос
/ 12 ноября 2010

Вам нужно написать представление со следующей функцией карты.

function(doc) {
    emit([doc.author, doc.date], {
            "title": doc.title, 
            "author": doc.author, 
            "date": doc.date, 
            "text": doc.text});
}

Теперь вы можете запросить представление, используя следующий URL:

http://127.0.0.1:5984/dbname/_design/design_doc_name/_view/viewname?startkey=[22, "2010-11-12T10:20:30"]&endkey=[22, {}]&descending=true&skip=20&limit=10

Дата в ключе запускадолжно быть текущее время.Нет возможности подражать NOW() в couchdb.

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

...