2016-12-12 14 views
1

私はMongoDBを初めて使い、検索操作を実行した後に得られる結果に対して集約操作を実行しようとしています。検索後のMongoDB集計?

私は次のように5マイルの距離に国、市&人口の結果を得るために、検索操作を実行している:

db.zipcodes.find({loc : { $near : [-86, 54], $maxDistance: 5*(1/69) }}) 

を、私は国によって集約すなわちグループに結果を実行したいとグループ状態の集団全体をソート形式で返します。私はこのようなものを試していた:

db.zipcodes.aggregate({ $group : { ... }, { db.zipcodes.find(...) }}, {$sort : {_population : 1}}) 

しかし、残念ながらそれは動作していません。

ご協力いただければ幸いです。

+1

はdb.zipcodesを置き換えるために$マッチ演算子を試してみてください。 find() – felix

答えて

3

検索クエリの結果が集計、代わりにあなたが$matchを使用することができます見つけることに渡すことはできませんし、グループ運営

サンプルクエリ

db.zipcodes.aggregate([{$match:{loc : { $near : [-86, 54], $maxDistance: 5*(1/69) }}},{$group : { ... }}, {$sort : {_population : 1}}])