21

ドキュメントは次のフィールドに保存されます。

_id:
NumberofChildren: Integer
OwnsAHome: Boolean
Income: Integer

集計フレームワークを使用して子の数で並べ替える必要があるため、出力は次のようになります。

Number of Children: 3
Number of People: some value, say 17
Number of People who own a home: some value less than 17 which is a sum of the number of true Booleans
Average income: some value

MongoDB で集計を使用してこれを行うにBoolean OwnsAHomeはどうすればよいtrueですか?

ありがとう!

4

2 に答える 2

19

$projectフェーズは、元のフィールドとは異なるタイプと値を持つ新しいフィールドを作成できるようにすることで、パイプラインの友です。

$cond何かが true の場合に 1 つの値を使用し、false の場合に別の値を使用するこの射影を考えてみましょう。

{ $project : { numWhoOwnHome : { $cond : [ "$OwnsAHome", 1, 0 ] } } }

ここで a を実行する$group{$sum : "$numWhoOwnHome"}、OwnsAHome が true に設定されている人の数が結果になります。

于 2013-06-19T16:47:23.673 に答える