javascript-是否可以在CouchDB验证功能中向文档添加字段?
作者:互联网
迁移到CouchDB时丢失的一件事是具有字段默认值的能力.例如,在SQL数据库中,可以有一个名为date的字段,默认为now().是否可以在CouchDB中做类似的事情?
据我所知,在每个创建和更新操作上运行的唯一代码段是设计文档的validate_doc_update方法.但是,当我们通过创建虚拟验证对它进行测试时,我们无法使其正常工作.这是一个简单的验证函数,尝试设置字段newDoc.foo,但从未保存.
function(newDoc, oldDoc, userCtr) {
newDoc.foo = "bar!";
}
我们已经检查并验证了validate_doc_update方法正在被调用,因此看来,如果有一种方法可以自动将字段添加到CouchDB文档中,那么使用验证功能就不可行了.还有其他建议吗?
解决方法:
通过视图查看文档时,可以使用某些视图逻辑来应用默认值.
您可以在写入之后(以及可能在后续更改之后)对其应用update handler,但是每次都需要另一个调用来调用它.
我可能会通过在插入文档之前将要插入的文档创建为对象并在其中应用默认值来解决此问题,因此您写入CouchDB的内容已经正确.
标签:javascript,validation,couchdb 来源: https://codeday.me/bug/20191011/1891727.html