有没有办法跳过/绕过Mongodb聚合阶段

时间:2016-08-21 06:25:28

标签: mongodb aggregation-framework

我遇到MongoDB查询问题。我对MongoDB数据库的查询是:

bash -c "bport='$(jot -r 1 10000 20000)'; gollum /path/to/wiki --port $bport & chromium-browser http://localhost:$bport ; wait $(pgrep 'chromium-browser localhost:$bport') && kill $(pgrep -f 'gollum /path/to/wiki') &"

我想检查如果阶段A找到了任何结果,如果没有,我想用不同的查询转移到阶段C.如果Stage-A找到结果,那么我将直接进入最后阶段-D。我的假设聚合查询如下所示:

    Places.aggregate([
      Stage-A
      { "$geoNear": {
        "near": {
        "type": "Point",
        "coordinates": coord
      },
        "spherical": true,
        "maxDistance" : maxDistance,
        "query": {tags:{$all:tags}},
        "limit": resultLimit,
        "distanceField": "distance"
      }
    },
    {Stage-B = check is stage-A have found any documents},
    {Stage-C},
    {Stage-D}
  ])

我想知道MongoDB聚合中是否可以使用此逻辑流程或其他内容。如果是这样,那么B阶段会是什么?如果没有,解决这个问题的最佳方法是什么?我想在一个请求中完成所有这些操作,因此我可以节省一些CPU周期。

0 个答案:

没有答案