2017-07-12 19 views
1

t2関数でt1関数データを返す必要があります。私はこの方法を試みますが、それは未定義だと親切に助けてください:)ありがとう!別の関数で集合関数を呼び出す方法は?

function t1() { 
     db.users.aggregate(
      [{ 
        $group: { 
         "_id": { 
          "_id": "$_id", 
          "name": "$name", 
          "email": "$email" 
         } 
        } 
       } 

      ],function(err, data) { 
       return data; 
      }) 

    } 

    function t2(req, res, next) { 
     var test = testFunction(); 
    }) 

答えて

0

あなたはt2からt1へのコールバックを渡す必要があります:

function t1(callback) { 
    db.users.aggregate(
     [{ 
       $group: { 
        "_id": { 
         "_id": "$_id", 
         "name": "$name", 
         "email": "$email" 
        } 
       } 
      } 

     ], callback) 

} 

function t2(req, res, next) { 
    t1(function(err, data) { 
     if (err) { 
      return res.status(500).send("Internal error occurred.") 
     } 

     return res.status(200).json(data); 
    }) 
})