如何使用ng-repeat显示嵌套的Mongo文档?

时间:2015-08-03 02:04:55

标签: angularjs node.js mongodb mongoose mean-stack

我有两个模式,一个用于User,另一个用于Project。每个用户可以有多个项目,项目可以在用户之间共享。

他们是:

var ProjectSchema = new Schema({
  title: String,
  description: String,
  path: String,
  users: [{type: Schema.Types.ObjectId, ref: 'User'}],
  active: Boolean
});

var UserSchema = new Schema({
  name: String,
  username: {type: String, unique: false},
  email: { type: String, lowercase: true },
  role: {
    type: String,
    default: 'user'
  },
  projects: [{type: Schema.Types.ObjectId, ref: 'Project'}],
  hashedPassword: String,
  provider: String,
  salt: String,
  github: {}
});

在客户端,我有一个身份验证服务Auth,可以为当前用户提供Auth.getCurrentUser()和两个服务,分别用于访问用户和项目资源。

我如何得到类似的东西?

<h1>{{currentUser.username}}' projects:</h1>
<ul id="project-list">
  <li ng-repeat="project in projects">{{project.title}}</li>
</ul>

澄清。我忘了提到用户服务有listProjects方法,它为用户JSON提供了已填充的项目。这是服务的代码:

angular.module('myapp')
  .factory('User', function ($resource) {
    return $resource('/api/users/:id/:controller', {
      id: '@_id'
    },

    {
            changePassword: {
                method: 'PUT',
                params: {
                    controller:'password'
                }
            },
            pushProject: {
                method: 'PUT',
                params: {
                    controller: 'project'
                }
            },          
            listProjects: {
                method: 'GET',
                params: {
                    controller: 'project'
                }
            },
            get: {
                method: 'GET',
                params: {
                    id:'me'
                }
            }
      });
  });

服务器部分有效。我只是无法弄清楚如何让控制器为上面的HTML工作。

0 个答案:

没有答案