2017-05-20 6 views
0

私は後発的なbackend express APIを持っています。私の後編モデルでは、CitizenStreetに属し、これはに属するTownに属します。私は簡単のようStreetで市民を数えることができます。モデルをSQLで他のモデルに「集約」しますか?

return db.Citizen.aggregate('value', 'count', { 
    where: { 
     '$Town.name$': townName 
    }, 
}); 

しかし、私は、市民が直接これらのモデルに関連付けられていないにもかかわらず、TownまたはStateで市民をカウントできるようにしたいと思います。それが可能なのか、もしそうなら、私はそれをどうすればできますか?あなたがする必要がどのような

答えて

0

がネストされているので、あなたはすべてのモデルを接続することができ、このようなものが含ま:私は私が行う必要があると私は、集計関数を使用することができます解決した後、本当に思います

db.Citizen.count({ 
    include: [{ 
     model: db.Street, 
     include : [{ 
      model: db.Town, 
      where:{ 
      TownName : name 
      } 
     }] 
     }] 
    }) 
    .then(function(countCitizen) { 
     return res.json(countCitizen); 
    }) 
    .catch(function(err) { 

    }); 
+0

を「市民」の平均年齢などのもの。 –

+0

アトリビュートに関するサポート集約を続ける。http://docs.sequelizejs.com/manual/tutorial/querying.html#attributes。これがあなたが必要としていることを願っています。 – Ellebkey

関連する問題