mongodbからmongooseを使ってデータを取得しようと考えました。
###ソースコード
javascript
1collection1.findOne({ }, functoin(err, docs1){ 2 collection2.find({ id : docs1.id }, function (err, docs2){//doc1が見つかりませんとエラーが出てしまう。 3 //処理 4 }); 5});
としたかったのですが、非同期処理のせいか、
collection1をfindし、docs1が見つかる前にcollection2のfindをしてしまい、エラーとなってしまいます。
###試したこと
javascript
1var c1 = collection1.findOne({ }, functoin(err, docs1){ return docs1 }); 2var c2 = collection2.findOne({ id : c1.id }, function (err, docs2){ return docs2 }); 3 4console.lo(c1); //構造?みたいなのが出力されてしまう。
とすればできるのかと思ったのですが、consoleでc1を出力すると、c1の構造?みたいなのが出力されてしまい、うまくデータをとることができません。
javascript
1temp = null; 2collection1.findOne({ }, functoin(err, docs1){ 3 4 temp = docs1; 5 console.log(temp); //docs.data 6}); 7console.log(temp); // null
変数に格納すれば、使えるようになるのかと思いましたが、nullになってしまい、データを得られませんでした。
初歩的な質問で申し訳ありませんが、
変数に格納、または同期処理の方法をご存知の方いたらご教授お願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/11/19 10:09