如何 query/filter 一个用户的所有帖子? (平均堆栈)

How to query/filter all posts by one user ? (MEAN stack)

代码:

控制器

(function () {
  'use strict';

  angular
    .module('users')
    .controller('MyArticlesController', MyArticlesController);

  MyArticlesController.$inject = ['$state', '$window', 'UsersService', 'Authentication', 'Notification', 'ArticlesService'];

  function MyArticlesController($state, $window, UsersService, Authentication, Notification, ArticlesService) {
    var vm = this;

    vm.user = Authentication.user;

    vm.articles = ArticlesService.query();


  }
}());

情况:

此代码运行良好并显示所有创建的帖子。

问题:

如何只查询当前认证用户创建的帖子?

语法是什么样的?

向控制器添加过滤器:

vm.authFilter = function(item) {
  return item.author == vm.user;
}

并在ng-repeat中使用它:

<a ng-repeat="article in vm.articles | filter: vm.authFilter" ...>

(假设 article.author 是文章的作者)

参见此处:http://jsfiddle.net/bhz3qvef它是如何工作的。

编辑:

你的情况是:

vm.authFilter = function(item) {
  return item.user.displayName == vm.user.displayName;
}

如果你在请求中传递想要的用户名,那么你可以使用find如下:

exports.list = function (req, res) {
  Article.find({'user.username': req}).exec(function (err, articles) {
    if (err) {
      return res.status(422).send({
        message: errorHandler.getErrorMessage(err)
      });
    } else {
      res.json(articles);
    }
  });
};