首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB嵌套RunCommand

MongoDB嵌套RunCommand
EN

Stack Overflow用户
提问于 2016-09-21 20:15:12
回答 1查看 348关注 0票数 0

我有一个叫做“停止”的集合,用来存储一些坐标信息。我使用MongoDB 2dsphere索引搜索位置。例如,我想使用db.runCommand查询某个位置周围的所有站点

db.runCommand({ geoNear: "stops", near: { type: "Point" , coordinates: [ -123.115115, 49.209659 ] }, spherical: true, minDistance: 0, maxDistance: 200, })

结果是一个json数组:

{ "waitedMS" : NumberLong(0), "results" : [ { "dis" : 79.0147493688595, "obj" : { "_id" : ObjectId("57e2349b9d0263463a3e93aa"), "zone_id" : "ZN 99", "coordinate" : [ -123.116116, 49.209383 ], "stop_id" : 11252, "stop_code" : 61338, "stop_url" : "", "stop_desc" : "MARINE DRIVE STATION LOOP @ BAY 2", "stop_name" : "MARINE DRIVE STN BAY 2", "location_type" : 0, "parent_station" : "" } }, { "dis" : 140.73823410181, "obj" : { "_id" : ObjectId("57e2349b9d0263463a3eaec9"), "zone_id" : "ZN 1", "coordinate" : [ -123.117038, 49.209801 ], "stop_id" : 11286, "stop_code" : "", "stop_url" : "", "stop_desc" : "SKYTRAIN @ MARINE DRIVE STN", "stop_name" : "MARINE DRIVE STATION", "location_type" : 0, "parent_station" : "" } } ], "stats" : { "nscanned" : 14, "objectsLoaded" : 2, "avgDistance" : 123.782109714949, "maxDistance" : 140.73823410181, "time" : 1 }, "ok" : 1.0 }

,我想知道我们能不能做一个嵌套的runCommand来进一步过滤结果,使之类似于

{"results" : [ { "dis" : 79.0147493688595, "obj" : { "coordinate" : [ -123.116116, 49.209383 ], "stop_id" : 11252, "stop_code" : 61338, "stop_desc" : "MARINE DRIVE STATION LOOP @ BAY 2", "stop_name" : "MARINE DRIVE STN BAY 2", } }, { "dis" : 140.73823410181, "obj" : { "coordinate" : [ -123.117038, 49.209801 ], "stop_id" : 11286, "stop_code" : "", "stop_desc" : "SKYTRAIN @ MARINE DRIVE STN", "stop_name" : "MARINE DRIVE STATION", } } ] }

在原始的json响应中有很多无用的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-21 20:48:34

使用aggregate而不是runCommand。就像:

代码语言:javascript
复制
db.stops.aggregate([{
    $geoNear: {
        near: { type: "Point", coordinates: [-123.115115, 49.209659] },
        spherical: true,
        minDistance: 0,
        maxDistance: 200,
        distanceField: 'someDistanceFieldProperty'
    }
}]);

看一看文档,让您更进一步:https://docs.mongodb.com/manual/reference/operator/aggregation/geoNear/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39625810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档