Одна из вещей, которая теряется при переходе на CouchDB, это возможность иметь значения по умолчанию для поля. Например, в базе данных SQL у вас может быть поле с именем date
, по умолчанию now()
. Можно ли сделать что-то подобное в CouchDB?
Из того, что я могу сказать, единственным фрагментом кода, который запускается при каждой операции создания и обновления, является validate_doc_update
метод конструкторского документа. Однако, когда мы проверили его, создав фиктивную проверку, мы не можем заставить его работать. Вот простая функция проверки, которая пытается установить поле newDoc.foo
, но оно никогда не сохраняется.
function(newDoc, oldDoc, userCtr) {
newDoc.foo = "bar!";
}
Мы проверили и убедились, что вызывается метод validate_doc_update
, поэтому кажется, что если есть способ автоматического добавления полей в документ CouchDB, использование функции проверки не подходит. Любые другие предложения?