2017-06-22 15 views
0

Mongo DBからaを読み込み、変数に値を代入しようとしています。動作しません。データを読み込んで変数に代入する

[ { _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)以下のように

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); 
    }); 

出力が正しくJSONオブジェクトをreturingています。変数は未定義のままです。 変数にaccess_tokenが必要です。どこが間違っていますか?

+2

これはすでに配列です。すでに '.find()'の結果を配列として返す "mongojs"などを使用しています。 '.toArray()'は "生の"ノードドライバのメソッドです。 –

+0

それでは単に 'docs [0] .access_token' –

+1

.toArray()を削除した後で動作します。ありがとうございました 。 – chittasec

答えて

0

私はコメントを傾けるが、私はあなたがボディパーサーを必要とする必要があると思う、彼らは着信要求のための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が文書を誤って解釈したという単純な誤りがあります。この回答は質問とは関係がなく、実際にコメントを読んでも実際に解決されます。 –

関連する問題