我遇到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周期。