簡體   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

我正在使用Node,Express,MySQL構建REST API。

當從http:// localhost:3000 / Node端點請求Node列表時,我希望將它們限制為僅25個初始記錄。 這可以通過類似GET http:// localhost:3000 / Node?maxRecords = 25的請求來完成。

我的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;

在我的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;

在您的模型/Node.js中:

getAllNodes: function(maxRecords, callback) {

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

}

您可以在查詢中使用LIMIT

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

查詢中的LIMIT屬性會有所幫助,它將限制輸出的行數。
因此,考慮到這一點,您的查詢應如下所示:

SELECT * FROM node_link LIMIT 10

如果要增加行,只需將10增加任意數量即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM