ユーザーモデルのデータにアクセスしようとしています(Express、Pug、およびMongooseを使用しています)。Mongoose:ユーザーモデルのデータへのアクセス
これは私のスキーマです:
var userSchema = mongoose.Schema({
userData: {
name: { type: String, required: true, unique: true },
password: String
},
notes: [ String ],
contacts: [{
name: String,
notes: [ String ]
}],
locations: [ String ]
});
これは私のパグ・テンプレート・ファイルです:私のミスかもしれない
app.get('/', function(req, res) {
if (app.locals.userData.name) {
res.render('app', {
currentUser: app.locals.userData,
allUsers: User.find({})
});
} else {
res.redirect('signup');
}
});
:
each user in allUsers
p #{user.userData.name}
私のルートは、このようになりますか?
ブラウザにCannot read property 'name' of undefined
というエラーが表示されます。
'User.find'は約束を返し、レンダリングは約束を待つことはありません。したがって、DBからの結果が利用可能になった後、 'render'だけが実行されることを確認する必要があります。 – qqilihq
大丈夫です。私は自分自身で解決策を見つけました! – Timo