我是 Express js 的新手。我目前正在构建一个待办事项列表网络应用程序。我一直在遵循教程并且能够执行基本的 CRUD 操作。我有两个模型。
- 用户 -(姓名、电子邮件、密码哈希、密码盐、todo_items - 引用第二个模型)。
- Todo_items -(标题、描述、到期日期、用户 - 引用第一个模型)。
当用户登录时,我可以读取他的 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 来过滤显示的结果。但我认为随着用户群的扩大,这是低效的。如何从后端创建过滤系统?
最佳答案
您可以查询 user 字段上的集合,假设它引用 _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);
});
});
关于node.js - Expressjs( Node )-如何获取一组根据用户过滤的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37389249/