在Keystone

时间:2017-03-29 08:35:47

标签: javascript node.js keystonejs

我正在尝试创建一个网络应用,学生可以在线存储他们的笔记。因此,如果他们登录,他们只能看到他们在博客上发布的笔记。

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

这是我遇到问题的代码

1 个答案:

答案 0 :(得分:1)

    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);
    });
});

这有效!