Foxx服务阵列处理

时间:2017-04-14 08:57:55

标签: arangodb foxx

我有一个包含文档的数据库,我想从中检索一些数据,为Foxx服务提供一系列密钥。它使用单个字符串,但我错过了一些关于实现数组的内容。

已更新

router.get('/keys', function (req, res) {

    const keys = db._query(aql`
        FOR huis IN test
        FILTER huis._key in ${req.queryParams.keys}
        RETURN {
            'adres': huis.adres,
            'postcode': huis.postcode,
            'plaats': huis.plaats
        }
    `);

  res.send(keys);
})
.queryParam('keys', joi.array().required(), 'query to search for')
.response(joi.array()
    .items(
        joi.string().required()
    )
    .required(), 'List of house keys.')
    .summary('List house keys')
    .description('Makes LAT LNG from house keys.');

joi.array()在服务概述页面上给Arango带来了很好的解释,如下所示。但我处理错了,因为它返回404。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果要传递数组,则需要使用queryParam或bodyParam而不是pathParam。

我建议您将路由器路径更改为router.get('/keys', function (req, res) {,然后将该值设置为req.queryParams.keys

当您通过queryParam发送数组时,您有几个选项,/keys?keys=1234,5678/keys?keys=1234&keys=5678