[英]output to jade the appropriate value from an object sent from express
我试图弄清楚当用户转到"/users/:name"
时如何在页面上检索适当的信息。 我要执行的操作是,如果user2登录,则打印出“欢迎user2”,其他用户也一样。 我想这样做的方法是从"/users/:name"
传递参数,并检查参数是否等于username
值,然后打印出该值。(不知道这是否是一种安全的方法) )如何遍历我的特定对象列表并将其与参数进行比较?
我把它发送到我的翡翠文件中
{ list: 'userList', users: [ { password: 'pass1', username: 'user1' }, { username: 'user2', password: 'pass2' }, { username: 'user3', password: 'pass3' } ], address: '14459 70 th st city NY', desc: '3 floors', __v: 0, _id: 56baf181356641f01213295a }
该发送,因为我这样做:
app.get("/users/:name", function(req, res){
// console.log(req.params.name)
User.findOne({"users" : { $elemMatch: { username : req.params.name}}}, function(err, doc){
console.log("test ", doc)
res.render("users", {result : doc, name : req.params.name});
})
})
玉:
html
head
body
p= result
p Welcome #{result.users[0].username} #{name} // prints out--> Welcome user1 user2 ||| when user2 signs in
p= result.address
h3= result.desc
a(href="/logout") logout
然后,您可能想要这样做,为给定的参数输入选择适当的用户对象:
app.get("/users/:name", function(req, res){
// console.log(req.params.name)
User.findOne({"users" : { $elemMatch: { username : req.params.name}}}, function(err, doc){
console.log("test ", doc)
var users = result.users;
var currentUser = {};
for(var i=0;i<users.length;i++)
if(users[i].username === req.params.name)
currentUser = users[i];
res.render("users", {result : doc, user : currentUser });
});
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.