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