Mongodb 无法在用户架构中显示新属性

Mongodb 无法在用户架构中显示新属性,mongodb,mongoose,mean-stack,mongoose-schema,meanjs,Mongodb,Mongoose,Mean Stack,Mongoose Schema,Meanjs,我在一个普通的应用程序中工作,我正在修改用户模块。我修改了用户模式以包含两个新属性:casetype和Steps。casetype只是一个字符串,Steps是一个数组。我创建了一个视图来显示这些和一个控制器。当我运行服务器时,页面上都没有显示。如果我尝试显示登录用户的任何现有属性,它们都可以正常工作,只是我添加的新内容似乎不起作用。更令人费解的是,它们可以很好地保存到数据库中,当使用MongoShell时,我可以通过基于casetype的查询找到用户 视图: 步骤是一个对象。您需要呈现steps

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

视图:


步骤是一个对象。您需要呈现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>

感谢您的修复,但这仍然不能解决根问题,它仍然没有显示在视图中。您是否尝试过将它放在双大括号中,如so-{{vm.user.casetype}还有什么是查询?如果为null,它将尝试将筛选器与null值匹配,这可能是原因。首先尝试移除过滤器。我尝试过使用双大括号,但也没有效果,移除过滤器没有效果。我很确定问题不在视图本身
//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
  }]
},
<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>