node/couchdb/windows スタックで webapp を作成しようとしていますが、経験不足と思われることにひどく悩まされています。
データベースには、パスワードを持つすべてのユーザーを返すビューがあります。ブログのチュートリアルに基づいて、ノード コードからビューにアクセスしようとしました。
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;
}
ハッシュ化されていないパスワードの使用とデータベースからのすべてのユーザーの読み取りの両方が、最終製品では禁止されていることを認識しています-誰かがそれについてコメントしたい場合に備えて.
ビューへのアクセス方法に問題がある場合: ビュー名が「password_by_email」の「_design/accounts」というデザイン ドキュメントを使用しています。