2017-03-29 9 views
1

生徒がメモをオンラインで保存できるWebアプリケーションを作成しようとしています。だから、彼らがログインすると、彼らはブログに投稿したメモしか見ることができません。KeystoneでユーザーオブジェクトIDまたは作成者による投稿をフィルタリングする

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

これは私が

答えて

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

これが機能する上で問題を抱えていたコードです!

関連する問題