CouchDB - запускать код при создании или обновлении документа - PullRequest
13 голосов
/ 26 сентября 2011

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

Можно ли выполнить эту логику на сервере при создании или обновлении документов, или я застрял, делая это перед попаданием в базу данных?

1 Ответ

18 голосов
/ 26 сентября 2011

У вас есть несколько вариантов.

Сначала посмотрите этот вопрос о функциях обновления CouchDB .Функции обновления получают запрос от браузера и могут изменять их любым способом, прежде чем окончательно сохранить их в CouchDB.Например, некоторые люди используют их для автоматического добавления метки времени.Также смотрите вики-страницу на CouchDB обработчики обновления документов .

Другой вариант - получать уведомления об изменениях CouchDB .В этом случае отдельная программа (либо ваш собственный браузер, либо, что еще лучше, отдельная программа, которую вы запускаете) может запросить CouchDB для _changes.CouchDB уведомит эту программу после того, как документ будет сохранен.Затем программа может извлечь документ и затем сохранить любые новые ревизии, которые необходимы.

Для меня это звучит так, как будто вы должны сначала попробовать функцию _update.

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