无法在用户架构

时间:2017-11-01 18:23:42

标签: mongodb mongoose mean-stack mongoose-schema meanjs

我在MEAN应用程序中工作,我正在修改用户模块。我修改了用户架构以包含2个新属性:casetype和Steps。 casetype只是一个字符串,Steps是一个数组。我创建了一个视图来显示这些以及控制器。运行服务器时,页面上都没有显示。如果我试图显示登录用户的任何预先存在的属性,它们工作正常,它似乎是我添加的新东西不起作用。更令人费解的是,它们可以很好地保存到数据库中,当使用Mongo shell时,我可以通过基于casetype的查询找到用户。

视图:

<div class="row">
  <h1 ng-bind="vm.user.casetype"></h1> 
</div>
<div class="row">
     <div class="col-md-6">
      <div class="tableWrapper">
        <table id = "table_id" class="table table-hover">
          <thead>
            <tr>
              <th>Step</th>
              <th>Todo</th>
              <th>Completed?</th>
            </tr>
          </thead>
          <tbody>
            <tr ng-repeat="step in vm.user.steps.type | filter: query" >
              <td>{{step.num}}</td>
              <td>{{step.text}}</td>
              <td class = "y_n">{{step.completed}}</td>
            </tr>
        </tbody>
        </table>
      </div>
    </div>
</div>

UserSchema补充:

//case type
casetype: {
  type: String,
  default: 'Default Case Type'
},
//steps for case tracking
steps: {
  type: [{
    num: {
      type: Number,
      //default: 0
    },
    text: {
      type: String,
      trim: true,
      //default: 'Todo for step'
    },
    completed: {
      type: Boolean,
      //default: false
    }
  }],
  default: [{
    num: 0,
    text: 'todo for step',
    completed: false
  }]
},

1 个答案:

答案 0 :(得分:1)

步骤是一个对象。你需要渲染steps.type这是一个数组:

<tbody>
    <tr ng-repeat="t in vm.user.steps.type | filter: query" >
        <td>{{t.num}}</td>
        <td>{{t.text}}</td>
        <td class = "y_n">{{t.completed}}</td>
    </tr>
</tbody>