2017-01-14 7 views
0

私は他のファイルを編集してアプリケーションを少し複雑にして、この問題につながるまでうまくいきました。私はので、私は追加された新しいコードは何とかクエリを遅らせていなければならないことを推測Meteor Collectionがデータを取得しない

Tracker.autorun(()=>{ // Tracker function for reactivity 
    const id = Session.get('data')._id; 
    const loans = Loans.find({fileId: id}); 

    loans.forEach(o=>{ 
    const vrLoan = VRLoans.find({parentId: o._id}); 
    const fundingData = Funding.find({parentId: o._id}); 

    const t = o.Type; 
    const n = o.description; 

    if(t && n && vrLoan.count() && fundingData.count()){ 
     console.log("here") 
     fundDep.changed(); 
     fundingNameSpace[t] = {}; 

     if(t == "Bank Loan" || t == "Directors Loan" || t == "Lease" || t == "Loan Out/Invesment"){ 
     fundingNameSpace[t][n] = new LoanCalc(t, vrLoan, fundingData); 
     }else if(t == "Share"){ 
     fundingNameSpace[t][n] = new ShareCapCalc(vrLoan, fundingData); 
     }else if(t == "Other"){ 
     fundingNameSpace[t][n] = new OtherIncomeCalc(vrLoan, fundingData); 
     }else if(t == "Cap"){ 
     fundingNameSpace[t][n] = new CapitalGrantCalc(vrLoan, fundingData); 
     } 
    }); 
    }); 

:関数は

  1. vrLoan
  2. fundingData

のための私のコードを任意のデータを返すされていませんクエリの長​​さは0です。

eなぜこれが起こっているのか説明してください。あなたがlengthためvrLoansfundingDataをチェックしているため

+0

console.log( "here");これは稼働していますか ? –

+0

'VRLoans'と' Funding'コレクションはクライアントに公開されていますか?これは、トラッカーが変更を取り上げるため、準備ができていないケースではありません。 –

答えて

0

あなたの最初のif文は実行されませんが、彼らはMongoのカーソル(オブジェクト)と実際のない配列です。

ので、代わりの.length、あなたは.count()は、彼らが空ではない(または通常のJSアレイを得るためにあなたのfind().fetch()を呼び出す)をチェックします。

https://docs.mongodb.com/manual/reference/method/cursor.count/

(この機能は今まで何をやっているのと同じようしかし、このエラーのため、それは見ていないので、あなたはあなたのアプリケーションの残りの部分を変更したときに、おそらくあなたはそれを修正しておく必要があります。)

関連する問題