GET请求“按名称查找”,而不是按ID查找

时间:2019-06-05 12:07:11

标签: node.js express mongoose

我是否可以使用此代码或类似代码通过用户名而不是findById进行查找?

Router.route('/:id').get(function (req, res)
 {
    let id = req.params.id;
    Books.findById(id, function (err, course) {
        res.json(course);
    });
});

2 个答案:

答案 0 :(得分:0)

Books.find({username: 'username'},function (err, course) {res.json(course);}); 

Books.find({username: /username/i},function (err, course) {res.json(course);}); // Like operator

我希望它能起作用 看Mongoose Docs here

答案 1 :(得分:0)

没有所谓的按名称查找。您可以改用find或findOne。

Books.find({username: 'username',function (err, course) {
    res.json(course);
});

Books.findOne({username: 'username',function (err, course) {
    res.json(course);
});

使用正则表达式模式

Books.findOne({username: 'username'/gi,function (err, course) {
    res.json(course);
});