我正在尝试使用 Controller 根据用户修改页面。
我正在使用这个:
$http.get('/someUrl').then(function(response){
$scope.firstname = response.data;
});
我想做的是,从数据库中获取每个字段并相应地使用它们。
如果这是我的架构并且我已经在数据库中存储了一个人:
var personSchema = new mongoose.Schema({
firstname: {type: String, required: true, },
lastname: {type: String, required: true}
});
var person = mongoose.model('People', personSchema);
module.exports = person;
我将在“/someUrl”中使用什么 URL 来获取当前登录者的名字?
此外,我是否缺少执行此操作所需的任何功能?
编辑: 我的路线
router.post("/update-profile", function(req, res) {
if (!req.session.user) {
return res.status(401).send();
}
var firstname = req.body.firstname;
var lastname = req.body.lastname;
var newProfile = new UserProfile();
newProfile.firstname = firstname;
newProfile.lastname = lastname;
console.log(newProfile);
newProfile.save(function(err, savedProfile) {
if (err) {
console.log(err);
return res.status(500).send();
} else {
res.render("profile");
return res.status(200).send();
}
});
});
最佳答案
从 url 获取 person 对象。
$http.get('/user?id=5').then(function(response){
$scope.user = response.data;
});
其中 id 是用户 ID。
然后在您的 html 中您可以使用 {{user.firstName}}
。
您还可以在页面加载时将 req.user
传递给页面,这样您就不需要再执行一次 get 操作。
res.render('page',{user:req.user});
然后(在 ejs 中)
$scope.user = <%=user%>;
关于javascript - 如何使用 Angular Controller 从 Mongo 数据库获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455830/