arangodb - Object Array data type -
this aql returns object use.
const keys = db._query(aql`     huis in test     filter huis._key in ${req.queryparams.keys}     return {         'key': huis._key,         'adres': huis.adres,         'postcode': huis.postcode,         'plaats': huis.plaats     } `); this returns object:
[   {     "key": "374875",     "adres": "klaverstraat 7",     "postcode": "2197gv",     "plaats": "leiden"   } ] then take key so:
keys[0].key this works in javascript when make fiddle not in foxx.
const test = [   {     "key": "374875",     "adres": "klaverstraat 7",     "postcode": "2197gv",     "plaats": "leiden"   } ]  console.log(test[0].key) 374875
why return 'undefined' in foxx correct data in fiddle?
this foxx code:
router.get('/', function (req, res) {   const test = [     {       "key": "374875",       "adres": "klaverstraat 7",       "postcode": "2197gv",       "plaats": "leiden"     }   ];    console.log(test[0].key);   res.status(200).send(test[0]); }, 'test1')   .summary('test1')   .description('test1'); returns via rest:
{   "key": "374875",   "adres": "klaverstraat 7",   "postcode": "2197gv",   "plaats": "leiden" } logs arangodb logs:
374875
when getting data via query, need make sure query completed before read contents of result.
look @ code:
router.get('/', function (req, res) {   const keys = db._query(aql`     huis in test     filter huis._key == "374875"     return {         'key': huis._key,         'adres': huis.adres,         'postcode': huis.postcode,         'plaats': huis.plaats     } `).toarray();    console.log(keys[0].key);    res.status(200).send(keys);  }, 'test1')   .summary('test1')   .description('test1'); here filter condition has been changed, , .toarray() added after query has executed. makes sure query complete , contents of keys you'd expect.
Comments
Post a Comment