node.js - 在 Mongoose 中传递 REST URL 参数作为查询条件

标签 node.js rest mongoose mongoose-schema

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

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

在浏览器中像这样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中的字段值传递时,我想检索集合中的特定文档。

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

感谢您的帮助。

最佳答案

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

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

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

关于node.js - 在 Mongoose 中传递 REST URL 参数作为查询条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48107266/

相关文章:

api - 以RESTful方式在资源上调用服务器端方法

python - Stash 标签上的 DELETE 请求

json - module.exports = { Mongoose , models : { . .. } } 是什么意思?

javascript - 为什么使用 Object.create() 和 console.log() 时不显示属性?

json - Runkit - 请求的资源上不存在 'Access-Control-Allow-Origin' header

node.js - 按 mongoDB (mongoose) 中的虚拟字段排序

rest - 将数据作为应用程序/JSON 发送会引发错误

node.js - Mongoose 在没有模型的情况下填充嵌套模式

node.js - 结构推荐

node.js - Express 中的 app.get() 函数参数问题