Couchdb 创建视图以检查文档字段的特定值(对于简单登录)

Couchdb 创建视图以检查文档字段的特定值(对于简单登录),couchdb,cloudant,Couchdb,Cloudant,我对cloudant很陌生,所以请原谅我这个问题。我正在创建一个简单的手机游戏登录系统,只检查用户名(电子邮件)和密码 我有几个这样格式的简单文档 { "_id": "xxx", "_rev": "xxx", "password": "3O+k+O8bxsxu0KUlSBUiww==", --encrypted by application beforehand "type": "User", "email": "asd@asd.com" } 目前,我似

我对cloudant很陌生,所以请原谅我这个问题。我正在创建一个简单的手机游戏登录系统,只检查用户名(电子邮件)和密码

我有几个这样格式的简单文档

{
    "_id": "xxx",
    "_rev": "xxx",
    "password": "3O+k+O8bxsxu0KUlSBUiww==", --encrypted by application beforehand
    "type": "User",
    "email": "asd@asd.com"
}
目前,我似乎无法获得创建此视图(映射函数)的正确“公式”,根据该公式,我将执行网络请求并传递电子邮件和密码。如果存在与电子邮件匹配的文档,则根据传递的值检查doc.password。如果匹配,函数应该返回一个简单的“YES”

现在,我的map函数如下所示,但它只返回所有文档

function(doc) {
    if (doc.email){
        index("password", doc.password, { store : true });
        if (doc.password){ 
            emit("YES");
        }
    }
}
可能是我的请求格式也不对。目前情况如下。值不是实数,仅用于格式检查

https:/etcetc/_design/app/_view/viewCheckLogin?q=email:"asd@asd.com"&password:"asd"

看起来您误解了视图的工作原理。通常,您不能根据请求执行逻辑以返回不同的结果。视图请求中的查询参数只能用于限制返回的视图项的结果集,或用于从reduce函数返回分组信息


要确定给定用户名和密码是否匹配,可以将这些值作为键发出,然后查询它们。这将返回这些键的视图条目,如果没有匹配项,则返回空列表。不过,我会非常小心这里的安全。任何有权访问该视图的人都可以看到所有视图条目,即所有用户名和密码。

Hi Kerr!谢谢你的回复,是的,我想是这样的。。我想知道是否可以使用Cloudant查询索引来执行逻辑检查?