node.js - Expressjs( Node )-如何获取一组根据用户过滤的数据

标签 node.js mongodb rest express mongoose

我是 Express js 的新手。我目前正在构建一个待办事项列表网络应用程序。我一直在遵循教程并且能够执行基本的 CRUD 操作。我有两个模型。

  1. 用户 -(姓名、电子邮件、密码哈希、密码盐、todo_items - 引用第二个模型)。
  2. 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/

相关文章:

python - Django + Auth0 JWT 认证拒绝解码

macos - mac有什么好的node.js IDE吗?

javascript - 如何减慢此 Node 循环 http 请求?

node.js - N个node.js进程之间的通信

mongodb - 如何在 mongodb 中提取数组元素(即文档)?

node.js - 使用node上传二进制文件到redmine

arrays - 如何使用 Mongoose 从数组中删除对象

javascript - 如何在 MongoDB shell 中转到下一行?

javascript - js ':' 预期 Node js

ios - 逗号分隔的动态参数的 RestKit 路径模式