Использование Knockout.js с CouchDB - обновление при изменении - PullRequest
6 голосов
/ 09 августа 2011

Просто интересно узнать, как лучше подписаться на мое хранилище данных CouchDB, чтобы при обновлении документа на диване представление KO также обновлялось (автоматически).Это вообще возможно?

Ниже приведено то, что у меня есть, и я просто получаю имя пользователя из документа user_info.

$.getJSON('http://localhost/couchdb/user_info', function(data) {
    var viewModel = ko.mapping.fromJS(data);
    ko.applyBindings(viewModel);    
});

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

5 голосов
/ 18 августа 2011

CouchDB поддерживает уведомления при изменении документов: лента изменений .

Вы можете опросить ленту изменений с параметром ?since=X, чтобы получать только обновления, начиная с X.

Вы также можете "долго опрашивать" канал, добавив &feed=longpoll.Если изменений пока нет, CouchDB получит ваш запрос, но не ответит до тех пор, пока, наконец, не произойдет изменение.

Или вы можете получить полный фид в стиле COMET, добавив вместо него &feed=continuous.Это похоже на longpoll, однако CouchDB не будет никогда закрывать соединение.Каждый раз, когда происходит изменение, он отправляет вам JSON, а затем продолжает ждать.

Наконец, вы можете получать уведомления, когда что-либо изменяется в базе данных, или вы можете указать фильтр Javascript длязапустить на сервере (&filter=designdoc/filtername).Вы будете получать уведомления только в случае одобрения фильтра.

1 голос
/ 10 января 2014

Вы смотрели на http://hood.ie/ хорошо просыпается. Я также использую Hoodie в качестве службы os_daemons из моего couchdb.

Это хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...