在mongo/mongoose模式中使用一个handlebas形式来定位一个数组



。我知道我没有正确定位我的架构,因为我得到了一个空数组。我想在staff数组中推送我的输入值。关于输入字段模板化,似乎有有限的手把文档。谢谢

我的模式:

var docketSchema = new Schema({
  companyName: string,
  address: string,
  staff: [{ manager: String, 
            receptionist: String 
        }]
});

我的车把模板:

<div class="form-group">
    <input type="text" id="address" name="address" required value="{{input.address}}">
</div>
<div class="form-group">
    <input type="text" id="companyName" name="companyName" required value="{{input.companyName}}">
</div>
<div class="form-group">
    <input type="text" id="manager" name="manager" required value="{{input.staff.manager}}">
</div>
<div class="form-group">
    <input type="text" id="receptionist" name="receptionist" required value="{{input.staff.receptionist}}">
</div>

我的路线:

router.post('/create', function(req, res, next) {
  userService.addDocket(req.body, function(err) {
      var vm = {
        input: req.body
      };
      res.redirect('/dockets');
  });
});

我的控制台:

[ { companyName: 'Acme',
    address: 'New York',
    staff: [] } ]

我的addDocket方法:

exports.addDocket = function(docket, next) {
    var newDocket = new Docket({
      companyName: docket.companyName,
      address: docket.address,
      staff: docket.staff
    });
    newDocket.save(function(err) {
      next(null);
    });
};

在您的手把模板中,尝试创建具有数组的表单元素,如下所示:

<div class="form-group">
    <input type="text" id="address" name="address" required value="{{input.address}}">
</div>
<div class="form-group">
    <input type="text" id="companyName" name="companyName" required value="{{input.companyName}}">
</div>
<div class="form-group">
    <input type="text" id="manager" name="staff[manager]" required value="{{input.staff.manager}}">
</div>
<div class="form-group">
    <input type="text" id="receptionist" name="staff[receptionist]" required value="{{input.staff.receptionist}}">
</div>

最新更新