2016-03-26 17 views
0

集計からの合計ドキュメント数を調べることを検討しています。下のコードから数えることは可能ですか?もし誰かがアイデアを持っていたら私に知らせてください。集計ルックアップ結果からのカウントの取得方法

db.collection("camp", function (err, camp) { 
    camp.aggregate([{$match: {status: {$ne: "Rejected"}}}, 
     {'$lookup': { 

       from: "organization", 
       localField: "organization", 
       foreignField: "organizationId", 
       as: "orgnData" 
      } 
     }, {'$lookup': { 
       from: "organizer", 
       localField: "organizer", 
       foreignField: "organizerId", 
       as: "ornrData" 
      }}, 
     {$unwind: "$orgnData"}, 
     {$unwind: "$ornrData"}, 
     {$match: {'ornrData.city': 'Nagpur'}}, 

     {$skip: 0}, {$limit: 10}, 
     {$sort: {id: -1}} 

    ], function (err, info) { 
     res.json(info); 
    }); 
}); 

上記のコード私は限界までの結果の合計行数を得るために探しています。誰かがアイデアを持っているなら私に知らせてください?

+0

あなたが「ページング」同じクエリでカウントを取得しようとしています。しないでください、それはかなりばかげています。私が確信しているどこかに「なぜ」の良い説明があります。しかし、結果をすべて1つのドキュメントの配列に入れてカウントを取得し、次にそれを「ページ」に展開する必要があります。別のパイプラインを「カウント」し、別の「結果」をページで実行してください。それは何年にもわたってデータベースのページングに取り組んできましたが、変わらないのです。 –

+0

貴重な時間を費やしてくれてありがとう@ Blakes Seven –

+0

私はまだそれを費やしています。私は本当に[制限を使用してMongoDBとの合計文書の数を取得](http://stackoverflow.com/a/21803405/2313887)の回答の本体には満足していませんが、少なくともポイントに到達しています。私がやったと思った、あるいは他の誰かがここで '$ push'問題を具体的に言及していたので、私はまだ参照を探していました。しかし実際には、結果のためにこのパイプラインを1つだけ実行し、「スキップ」と「制限」なしの合計カウントに対して簡単な '{" _id ":null、" count ":{" $ sum ":1}}'を実行してください。まだ参照を検索しています。 –

答えて

-2

が限界を取り除く、集計に次の行を追加します。

{ $group: { _id: null, count: { $sum: 1 } } } 
+0

{@ group:{_id:null、count:{$ sum:1}}}私はカウントしていますが、コレクションからのカウントで完全なデータが必要です。出来ますか? –

+0

次に、コードからすべての返品伝票を数えます。 – DiegoRBaquero

関連する問題