在 Mongoose 中传递 REST URL 参数作为查询条件

Posted

技术标签:

【中文标题】在 Mongoose 中传递 REST URL 参数作为查询条件【英文标题】:Passing REST URL parameter as query condition in Mongoose 【发布时间】: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 字段时会得到结果。但是客户端只会调用特定的字段。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于在 Mongoose 中传递 REST URL 参数作为查询条件的主要内容,如果未能解决你的问题,请参考以下文章

Angular 2 + NodeJS + Mongoose - 从 Angular 2 发布数据到 rest api nodejs 后端。节点 api 日志:选项 /url,POST 标头不起作用

在 Django REST Framework 中使用 url 传递查询

将 url id 从 react-router 传递给 mongoose

如何使用 Rest Assured 在 GET url 中传递查询字符串参数?

使用 django-rest 框架中的 GET 方法将 url 作为参数传递?

如何使用 Springboot 在 REST 请求 URL 中将 json 对象作为参数传递