Expressjs(节点) – 如何获得一组根据用户过滤的数据

我是新来expressionjs。 我目前正在build立一个待办事项列表networking应用程序。 我一直在关注教程,并能够执行基本的CRUD操作。 我有两个模型。

  1. 用户 – (名字,电子邮件,密码哈希,密码salt,todo_items – 引用第二个模型)。
  2. Todo_items – (标题,说明,due_date,用户 – 引用第一个模型)。

当用户login时,我可以阅读他的user_id。 但是,如何过滤只属于用户的todo_items? 我目前的代码看起来像这样,并返回所有用户的所有todo_items。

router.get('/api/todo_items', function(req, res, next){ Todo_items.find(function(err,todo_items){ if(err){return next(err); } res.json(todo_items); }) }); 

目前,我正在使用前端框架Angularjs来筛选显示的结果。 但是,我认为这是因为用户基础变大而效率低下。 如何从后端创build过滤系统?

您可以在用户字段上查询集合,假设它引用_id字段上的User模型,以便您可以具有以下内容:

 router.get('/api/todo_items', function(req, res, next){ Guest.find({ "user": user_id }).exec(function(err, todo_items){ if(err) { return next(err); } res.json(todo_items); }); });