【问题标题】:Passing REST URL parameter as query condition in Mongoose在 Mongoose 中传递 REST URL 参数作为查询条件
【发布时间】:2018-06-14 21:24:24
【问题描述】:

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

我正在使用 Mongoose 创建一个简单的节点 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 字段时会得到结果。但是客户端只会调用特定的字段。

感谢您的帮助。

【问题讨论】:

    标签: node.js rest mongoose mongoose-schema


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      相关资源
      最近更新 更多