在RESToose

时间:2018-01-05 04:40:30

标签: node.js rest mongoose mongoose-schema

这里有nodejs / mongoDB中的新手。我试过了,没有成功, 在发布之前找到我的问题的答案。

我正在使用Mongoose创建一个简单的节点RESTAPI get服务。我正在尝试传递集合的字段值以检索特定文档。

在浏览器中使用此http:// localhost:3000 / infrakpi / fieldvalue

我写了下面这段代码。

app.get('/infrakpi/:system',(req, res) => {
    Infrakpi.getInfrakpiBySystem(req.params.system, function(err, infrakpibysystem){
        if (err) {
            throw err;
        }
        res.json(infrakpibysystem);

    }); 
});

我已经在下面的mongoose模型中定义了get方法。

//Get Infrakpi by System
module.exports.getInfrakpiBySystem = function (system, callback) {
    Infrakpi.find({system: 'system'}, callback)
}

当系统在restURL中作为fieldvalue传递时,我想检索集合中的特定文档。

我知道这可能是一个非常基本的问题,但是当我使用findById作为_id字段时,我得到了结果。但客户只会拨打特定字段。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不确定,如果我可以称之为stackoverflow运气。我忽略了模型中get方法的引号。一旦我删除它,它就有用了。

//Get Infrakpi by System
module.exports.getInfrakpiBySystem = function (system, callback) {
    Infrakpi.find({system: system}, callback)
}

我将此问题留在此处而不删除,如果它可以在将来帮助其他人。