关联数组的node.js/javascript/couchdb视图似乎不起作用
我正试图在node/couchdb/windows堆栈上创建一个webapp,但似乎缺乏经验,这让我非常恼火 在数据库中,有一个视图返回所有用户的密码。根据a的教程,我尝试通过节点代码访问视图 每当我调查users或users变量的结构时,都会得到一个未定义的对象 对getDatabase()的调用已经在其他地方进行了测试,至少可以用于创建新文档关联数组的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
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
时,对象尚未填充。不能从异步代码返回值;您需要让它进行回调,以执行依赖于结果的代码