Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用RESTAPI的动态查询_Javascript_Node.js_Rest_Express - Fatal编程技术网

Javascript 如何使用RESTAPI的动态查询

Javascript 如何使用RESTAPI的动态查询,javascript,node.js,rest,express,Javascript,Node.js,Rest,Express,我是javascript初学者,我正在尝试使用node.js创建一个简单的RESTAPI。到目前为止,我知道了。 我在XDB中有一个名为testDb的数据库和一个名为testMeasurement的表testMeasurement表格包含dateof birth、ID、FirstName、LastName (ID是我的testMeasurement表中的标记) 现在,上面给出了数据库“testDb”中testMeasurement表中的所有数据 如何以动态方式定义查询,以便筛选结果? 例如,如果

我是javascript初学者,我正在尝试使用node.js创建一个简单的RESTAPI。到目前为止,我知道了。 我在XDB中有一个名为
testDb
的数据库和一个名为
testMeasurement
的表
testMeasurement
表格包含
dateof birth、ID、FirstName、LastName

(ID是我的testMeasurement表中的标记)

现在,上面给出了数据库“testDb”中testMeasurement表中的所有数据

如何以动态方式定义查询,以便筛选结果? 例如,如果我键入
localhost/myapi/ID={someValue}
,这将为我提供该ID的相关数据


任何建议都会很有帮助

有很多方法可以实现你想要的。最好的方法是使用通配符。例如:

app.get('/myapi/:userId', (req, res) => {
    var query_str = 'select * from testMeasurement';

    if (req.params.userId){
        query_str += ' where id = ' + req.params.userId;
    } 

    influx.query(query_str).then(result => {
        res.json(result)
    }).catch(err => {
        res.status(500).send(err.stack)
    })
});
这意味着您必须有一个结构化的API来使用,每个项目都有节点。如果只想测试一点,一个基本示例是测试GET参数,如:

app.get('/myapi', function (req, res) {
    var query_str = 'select * from testMeasurement';

    if (req.query.id != null){
        query_str += ' where id = ' + req.query.id;
    } 

    influx.query(query_str).then(result => {
        res.json(result)
    }).catch(err => {
        res.status(500).send(err.stack)
    })
})

希望有帮助

有很多方法可以实现你想要的。最好的方法是使用通配符。例如:

app.get('/myapi/:userId', (req, res) => {
    var query_str = 'select * from testMeasurement';

    if (req.params.userId){
        query_str += ' where id = ' + req.params.userId;
    } 

    influx.query(query_str).then(result => {
        res.json(result)
    }).catch(err => {
        res.status(500).send(err.stack)
    })
});
这意味着您必须有一个结构化的API来使用,每个项目都有节点。如果只想测试一点,一个基本示例是测试GET参数,如:

app.get('/myapi', function (req, res) {
    var query_str = 'select * from testMeasurement';

    if (req.query.id != null){
        query_str += ' where id = ' + req.query.id;
    } 

    influx.query(query_str).then(result => {
        res.json(result)
    }).catch(err => {
        res.status(500).send(err.stack)
    })
})
希望有帮助