Добавление последнего времени доступа к документу CouchDB в представлении - PullRequest
2 голосов
/ 02 сентября 2010

При каждом доступе к документу я хотел бы добавить время последнего доступа к документу.

Как обновить документ в представлении при наличии запроса GET?

1 Ответ

4 голосов
/ 03 сентября 2010

Вы не можете.GET (при правильном использовании) не изменяет данные;CouchDB использует GET правильно.

Если вы действительно хотите записать время доступа, подобное этому, вам нужно обновить документ с новой отметкой времени и перенести документ обратно в CouchDB.Тем не менее, если к документу обращаются несколько человек, вы, скорее всего, столкнетесь с конфликтом и получите ошибки конфликта от CouchDB.

Один из вариантов - создать новый документ с доступом к документу в CouchDB накаждый доступ, но это быстро увеличит размер базы данных.Если бы это было полезно, у вас была бы история времени доступа?

Лично я бы посмотрел на простую регистрацию доступа документа к файлу или очереди и обработал файл / очередь в фоновом режиме.Вы могли бы иметь один документ «доступ к документу» на каждый реальный документ, так как вероятность возникновения разногласий мала или отсутствует, и, возможно, неудачное обновление не будет иметь большого значения (в любом случае вы всегда можете повторить попытку).

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