简体   繁体   English

REST API-节点,Express,MySQL-如何通过URL传递有限数量的对象来过滤JSON(从DB)返回

[英]REST API - Node, Express, MySQL - How can I filter a JSON (from DB) return by passing a limited number of objects via URL

I'm building a REST API, using Node, Express, MySQL. 我正在使用Node,Express,MySQL构建REST API。

When requesting a list of Node from the http://localhost:3000/Node endpoint, I would like to limit these to only 25 initial records. 当从http:// localhost:3000 / Node端点请求Node列表时,我希望将它们限制为仅25个初始记录。 This could be accomplished with a request like GET http://localhost:3000/Node?maxRecords=25 . 这可以通过类似GET http:// localhost:3000 / Node?maxRecords = 25的请求来完成。

My routes\\Nodes file is: 我的routes \\ Nodes文件是:

var express = require('express');
var router = express.Router();
var Node=require('../models/Node');

router.get('/:id?',function(req,res,next){

    if(req.params.id){
        Node.getNodeById(req.params.id,function(err,rows){

            if(err)
            {
                res.json(err);
            }
            else{
                res.json(rows);
            }
        });
    }

    else{
        Node.getAllNodes(function(err,rows){

            if(err)
            {
                res.json(err);
            }
            else
            {
                res.json(rows);
            }
        });
    }
});
module.exports=router;

And in my models\\Node.js (that is passing queries to db) is: 在我的models \\ Node.js中(将查询传递给db)是:

var db=require('../dbconnection');

var Node={

    getAllNodes:function(callback){

        return db.query("Select * from node_link",callback);

    },
    getNodeById:function(id,callback){

        return db.query("select * from node_link where id=?",[id],callback);
    }

}
module.exports=Node;

In your models/Node.js: 在您的模型/Node.js中:

getAllNodes: function(maxRecords, callback) {

  return db.query("Select * from node_link LIMIT ?", [maxRecords], callback);

}

You can use LIMIT in the query. 您可以在查询中使用LIMIT

http://www.mysqltutorial.org/mysql-limit.aspx http://www.mysqltutorial.org/mysql-limit.aspx

The LIMIT attribute in your query will help, it will limit the number of rows outputted. 查询中的LIMIT属性会有所帮助,它将限制输出的行数。
So, with this in mind, your query should look like: 因此,考虑到这一点,您的查询应如下所示:

SELECT * FROM node_link LIMIT 10

If you want more rows, just increase the 10 by whatever you want 😊. 如果要增加行,只需将10增加任意数量即可。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 是否可以通过 REST ZDB974238714CA8DE634A7CE1D083A1 返回 javascript function? - Is it possible to return a javascript function via REST API with node/express? 使用节点构建API并表达,如何从网址获取json数据? - Building an API with node and express, how to get json data from a url? 如何允许 url 字符串更改使用 express71014CA8DE4F8Z 创建 REST ZDB974238714CA8DE4F8Z 时返回的消息? - How do I allow url string to alter JSON message returned when creating a REST API using express? 从节点 express api 返回大型 json 响应 - Return large json response from a node express api 如何使用node.js express中的bodyParser通过AJAX正确发送对象? - How can I properly send Objects via AJAX using bodyParser in node.js express? 如何从 Z28A3689BE95C88DD5E7A37DB516AB08 上的 API url 获得 json? - How can I get json from an API url on node.js? REST API,将JSON对象从PHP返回到JS文件 - REST API, return JSON objects from PHP to JS file 节点/ Express Rest API-如何从mssql引发错误 - Node/Express Rest API - How to throw an error from mssql 如何使用Node Js和Express通过GET请求显示对象数组对于简单的RESTful API应用 - How Can I display an Array of Objects with a GET request using Node Js and Express For a simple RESTful API app 如何从Node.js / Express中的URL获取JSON对象 - How to GET JSON Object from URL in Node.js/Express
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM