通过Keystone中的用户对象ID或作者过滤post

我试图创build一个networking应用程序,学生可以在线存储他们的笔记。 所以,如果他们login,他们只能看到他们发布在博客上的笔记。

view.on('init', function (next) { Post.model.findOne() .where('_id', User.id) .populate('author') .exec(function(err, results) { locals.data.posts = results; }); }); 

这是我有问题的代码

  view.on('init', function (next) { var q = keystone.list('Post').paginate({ page: req.query.page || 1, perPage: 10, maxPages: 10, }) .find().where('author', locals.user.id) .sort('-publishedDate') .populate('author categories'); if (locals.data.category) { q.where('categories').in([locals.data.category]); } q.exec(function (err, results) { locals.data.posts = results; next(err); }); }); 

这工作!