关联数组的node.js/javascript/couchdb视图似乎不起作用

关联数组的node.js/javascript/couchdb视图似乎不起作用,javascript,node.js,couchdb,Javascript,Node.js,Couchdb,我正试图在node/couchdb/windows堆栈上创建一个webapp,但似乎缺乏经验,这让我非常恼火 在数据库中,有一个视图返回所有用户的密码。根据a的教程,我尝试通过节点代码访问视图 每当我调查users或users变量的结构时,都会得到一个未定义的对象 对getDatabase()的调用已经在其他地方进行了测试,至少可以用于创建新文档 function GetUser(login) { var users = GetUsers(); return users[log

我正试图在node/couchdb/windows堆栈上创建一个webapp,但似乎缺乏经验,这让我非常恼火

在数据库中,有一个视图返回所有用户的密码。根据a的教程,我尝试通过节点代码访问视图

每当我调查users或users变量的结构时,都会得到一个未定义的对象

对getDatabase()的调用已经在其他地方进行了测试,至少可以用于创建新文档

function GetUser(login) 
{
    var users = GetUsers();
    return users[login];
}

function GetUsers() {
    var db = getDatabase();
    var usersByEmail = [];
    db.view("accounts", "password_by_email")
        .then(function (resp) {
            resp.rows.forEach(function (x) { usersByEmail[x.key] = x.value});
        });
    //usersByEmail['test'] = 'test';
    return usersByEmail;
}

我知道,在最终产品中,无论是使用非散列密码还是读取数据库中的所有用户都是禁止的,以防有人对此发表评论


如果我访问视图的方式有问题:我正在使用一个名为“\u design/accounts”的设计文档,其视图名为“password\u by\u email”。

您对
db.view
的调用是异步的,因此当您点击
return usersByEmail
时,对象尚未填充。不能从异步代码返回值;您需要让它进行回调,以执行依赖于结果的代码