如何不在MongoDB中通过文档_id和我们自己的索引查找文档?

时间:2019-03-20 17:29:51

标签: node.js mongodb express mongoose

  

studentRouter.js

 studentRouter.route('/:stuID')
    .get((req, res, next) =>
    {
        Students.findById(req.params.stuID)
            .then((student) =>
            {
                res.statusCode = 200;
                res.setHeader('Content-Type', 'application/json');
                res.json(student);
            }, (err) => next(err))
            .catch((err) => next(err));
    })

我想使用stuID在数据库中搜索元素,但是猫鼬总是使用_id索引搜索元素,尽管我在数据库中添加了stuID作为索引。他们可以使用stuID进行搜索吗?

eg- localhost:3000/students/stuID

1 个答案:

答案 0 :(得分:2)

只需将您的findById替换为:

Students.findOne({stuID: req.params.stuID})

文档:https://mongoosejs.com/docs/api.html#model_Model.findOne