0

我有一个我一直在构建的简单帮助台应用程序,用户可以在其中请求更改站点。其中一项功能是能够查看特定人员提出的所有请求,该请求正在运行。然而,在那个页面上,我想要一些类似于“用户请求”的东西,其中用户是您所在的人的页面。但是,如果没有一些奇怪的问题,我似乎无法让它工作。如果我使用:

{{#each request}}
{{user.firstName}}'s Request
{{/each}}

它可以工作,但我最终会根据用户的请求多次写入标题。但是,当我尝试:

{{request.user.firstName}}

它什么也不返回。

我的路线是填充用户数据,所以我我应该可以直接引用它。这是路线:

// list Request by User
router.get('/user/:userId', (req, res) => {
  Request.find({user: req.params.userId})
    .populate('user')
    .populate('request')
    .then(request => {
      res.render('request/user', {
        request: request,
      });
    });
}); 

这是架构:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

// Create Schema
const RequestSchema = new Schema({
title: {
    type: String,
    required: true,
},
body: {
    type: String,
    required: true,
},
status: {
    type: String,
    default: 'new',
},
priority: {
    type: String,
    default: 'low',
},
project: {
    type: String,
    default: 'miscellaneous',
},
category: {
    type: String,
    default: 'change',
    category: ['change', 'bug', 'enhancement', 'investigation', 'minor_task', 'major_task', 'question'],
},
organization: {
    type: String,
    default: 'any',
},
assignedUser: {
    type: String,
    default: 'venkat',
},
allowComments: {
    type: Boolean,
    default: true,
},
user: {
    type: Schema.Types.ObjectId,
    ref: 'users',
},
lastUser: {
    type: Schema.Types.ObjectId,
    ref: 'users',
},
date: {
    type: Date,
    default: Date.now,
},
lastUpdate: {
    type: Date,
    default: Date.now,
},
comments: [{
    commentBody: {
      type: String,
      required: true,
    },
    commentDate: {
      type: Date,
      default: Date.now,
    },
    commentUser: {
      type: Schema.Types.ObjectId,
      ref: 'users',
    },
  }],
});

// Create collection and add Schema
mongoose.model('request', RequestSchema);

其余代码位于:https ://github.com/Abourass/avm_req_desk

4

1 回答 1

0

如果有人想知道如何,答案是将数组标识符添加到点路径表示法中:

<h4>{{request.0.user.firstName}}'s Request</h4>
于 2018-07-30T13:11:31.603 回答