【问题标题】:couchdb design views, updating fields on doc creationcouchdb 设计视图,更新文档创建字段
【发布时间】:2010-09-22 18:37:56
【问题描述】:

当您创建/更新文档时,是否可以即时更新沙发或更改字段?例如在设计视图中...... validate_doc_update:

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 node.js registration


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多