couchdb设计视图,在创建文档时更新字段

couchdb设计视图,在创建文档时更新字段,couchdb,node.js,registration,Couchdb,Node.js,Registration,创建/更新文档时,是否可以动态更新或更改字段?例如,在设计视图中。。。。验证文档更新: function(newDoc, oldDoc, userCtx) { } 在该函数中,我可以抛出如下错误: if(!newDoc.user_email && !newDoc.user_name && !newDoc.user_password){ throw({forbidden : 'all fields required'}); } 我的问题是如何重新分配字段

创建/更新文档时,是否可以动态更新或更改字段?例如,在设计视图中。。。。验证文档更新:

function(newDoc, oldDoc, userCtx) {
}
在该函数中,我可以抛出如下错误:

if(!newDoc.user_email && !newDoc.user_name && !newDoc.user_password){
    throw({forbidden : 'all fields required'});
}
我的问题是如何重新分配字段?我试过这个:

newDoc.user_password ="changed";

更改为某个新值或哈希值。我的总体目标是用node和couchdb构建一个用户注册/登录系统,但还没有找到很好的例子。

验证文档更新功能不能有任何副作用,也不能在存储之前更改文档。它只有阻止更新或让更新通过的能力。这一点很重要,因为该函数不仅在用户请求更新时调用,而且在更改从一个CouchDB实例复制到另一个实例时调用。因此,一个文档可以多次调用该函数

但是,CouchDB现在支持文档更新处理程序,可以修改文档,甚至从头开始构建文档。这些可用于将非JSON输入数据转换为可用文档。您可以在中找到一些文档


在您构建自己的用户注册/登录系统之前,我建议您研究一下内置的CouchDB安全特性(如果您没有-一些信息)。它们可能不足以满足您的需要(例如,如果您需要电子邮件验证或类似的内容),但您可以在此基础上进行构建。

验证文档更新功能不能有任何副作用,也不能在存储前更改文档。它只有阻止更新或让更新通过的能力。这一点很重要,因为该函数不仅在用户请求更新时调用,而且在更改从一个CouchDB实例复制到另一个实例时调用。因此,一个文档可以多次调用该函数

但是,CouchDB现在支持文档更新处理程序,可以修改文档,甚至从头开始构建文档。这些可用于将非JSON输入数据转换为可用文档。您可以在中找到一些文档

在您构建自己的用户注册/登录系统之前,我建议您研究一下内置的CouchDB安全特性(如果您没有-一些信息)。它们可能对您来说还不够(例如,如果您需要电子邮件验证或类似的东西),但您可以在它们的基础上进行构建