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