Функция обновления CouchDB, которая обнаруживает новый добавленный документ - PullRequest
0 голосов
/ 28 октября 2019

Я использую подход JasonSmith для обновления флага (свойства) в документе, когда поле было изменено. Мне было интересно, если с небольшими изменениями можно изменить другое поле свойства, когда документ является новым, а не обновленным документом. Что-то вроде «полей по умолчанию».

Изменить уведомление в CouchDB, когда поле установлено

function (doc, req) {
    var INTERESTING = 'dollars'; // Set me to the interesting field.

    var newDoc = JSON.parse(req.body);
    if(newDoc.hasOwnProperty(INTERESTING)) {
        // dollars was set (which includes 0, false, null, undefined
        // values. You might test for newDoc[INTERESTING] if those
        // values should not trigger this code.
        if((doc === null) || (doc[INTERESTING] !== newDoc[INTERESTING])) {
            // The field changed or created!
            newDoc.i_was_changed = true;
        }
    }

    if(!newDoc._id) {
        // A UUID generator would be better here.
        newDoc._id = req.id || Math.random().toString();
    }

    // Return the same JSON the vanilla Couch API does.
    return [newDoc, {json: {'id': newDoc._id}}];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...