读取数据并分配给变量

读取数据并分配给变量

问题描述:

我正在尝试从Mongo DB读取数据并为变量赋值。不起作用。读取数据并分配给变量

var collection = db.get('accesstoken'); 
    collection.find({},{},function(e,docs){ 
    console.log(docs); 
    var global_token_var = docs.toArray()[0].access_token; 
    console.log(" global token variable set to " + global_token_var); 
    }); 

输出如下

[ { _id: 594aaa17f0db330e70bd6e89, access_token: '76c9b8a60b4f4402bdc7082b945d77899f1282d2', Expires_in: 86400000 } ] undefined (node:1104) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejec tion id: 1): TypeError: Cannot read property 'toArray' of undefined*

所以的console.log(DOC)正确returing JSON对象。但变量仍未定义。 我需要一个变量的access_token。我哪里错了?

+2

它已经是一个数组。您正在使用“mongojs”或类似的方法,它已经将'.find()'的结果作为数组返回。 '.toArray()'是“原始”节点驱动程序的一种方法。 –

+0

所以只需简单的'docs [0] .access_token' –

+1

它删除.toArray()后工作。谢谢 。 – chittasec

对不起,我不能发表评论,但我认为你需要,要求身体解析器,他们有传入的请求一个JSON解析器:

https://www.npmjs.com/package/body-parser

app.use(bodyParser.urlencoded({ extended: false })) 

// parse application/json 
app.use(bodyParser.json()) 

还的问题可能与此有关: What does body-parser do with express in nodejs?

多数民众赞成如果您使用快递,如果不是那么我会想象你将不得不以某种方式解析。我使用快递,所以我会推荐套餐。希望即时阅读这个正确的,祝你好运

+0

嗯。不是。在OP误解了文档的情况下,这个问题有一个简单的错误。这个答案与问题无关,如果你真的阅读了评论,问题实际上已经解决了。 –