简单的查询与arangodb和nodejs
我想执行一个简单的查询在我的数据库arangodb与nodejs的login页面。
var arango = require('arangojs'); /*---*/ Database = arango.Database; db = new Database('http://127.0.0.1:8529'); db.useDatabase('MyDB'); db.useBasicAuth('root', 'root'); /*---*/ //Post Methods var username; var passworddb; //Login method app.post('/', function (request, response) { username = request.body.user.name; db.query('FOR u IN User FILTER u.firstname == "'+username+'" RETURN u.password').then( cursor => cursor.all() ).then( key => console.log('key:', key), //key => passworddb = key, err => console.error('Failed to execute query') ); console.log(passworddb) });
它的工作,但我不能保存在我的var passworddb密钥的结果…我不承认…在arangodb请求是asynchronous的
Console.write(passworddb)返回“undefined”,并在console.log('key:',key)正确返回键…两次。
我的问题是:我怎么能只有密码在arangodb(什么是一次请求的查询),以及如何将值存储在我的var?
谢谢您的回答。
console.log(passworddb)
行在//key => passworddb = key
之前被执行,因为asynchronous请求。 所以当你尝试logging密码时,数据库响应还没有到达。 passworddb正确保存在passworddb中,你只是console.log太快了。 你可以做
key => { passworddb = key; console.log(passworddb); }
确认作业是否有效。