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

Posted

技术标签:

【中文标题】无法在用户架构中显示新属性【英文标题】:Unable to show new properties in User schema 【发布时间】:2018-04-14 03:40:37 【问题描述】:

我正在使用 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】:

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>

【讨论】:

感谢您的修复,但这仍然不能解决根本问题,它仍然没有显示在视图中。 你试过把它放在双花括号里吗-&lt;h1&gt;vm.user.casetype&lt;/h1&gt; 还有什么是查询?如果它为空,它将尝试将过滤器与空值匹配,这可能是原因。尝试删除过滤器开始。 我试过使用双花括号,但也没有用,删除过滤器也没有效果。我很确定问题不在视图本身

以上是关于无法在用户架构中显示新属性的主要内容,如果未能解决你的问题,请参考以下文章

电脑显示无法获取用户配置文件怎么回事?

cookie中数据无法读取,HttpOnly属性

无法以新用户身份登录 Postgres DB

Oracle 针对用户的创建及其属性的修改步骤

无法读取未定义的属性“用户名”,excel4node 无法读取属性用户名

Meteor:我应该如何更新用户集合以在对象/字典中包含一个新属性?