MongoDB 查找后聚合?

2 mongodb mongodb-query

我是 MongoDB 新手,尝试对运行查找操作后得到的结果执行聚合操作。

我正在运行查找操作来获取 5 英里距离内的州、城市和人口结果,如下所示:

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

现在,我想执行聚合,即按状态对结果进行分组,并以排序的方式返回组状态的总人口。我正在尝试这样的事情:

db.zipcodes.aggregate( { $group : { ... }, { db.zipcodes.find(...) }}, {$sort : {_population : 1}})
Run Code Online (Sandbox Code Playgroud)

但不幸的是它不起作用。

任何帮助,将不胜感激。

Cle*_*ath 5

Find 查询结果无法传递到聚合,可以使用$match代替 find代替 find ,然后进行分组操作

示例查询

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