MongoDB $ maxDistance正在工作,但$ minDistance不会

时间:2015-09-01 15:51:22

标签: mongodb meteor

我正在尝试从我的收藏中查找数据,并根据帖子创建时的位置(loc :),以最接近geoJSON点的顺序显示。

我已进入mongo控制台并运行

db.my-collection.createIndex( { loc : "2dsphere" } )

为了确保它们被索引为2dsphere。

现在每当我使用我的find命令按上述顺序列出帖子时,只有$ maxDistance有效,而$ minDistance对它们的排序方式完全没有影响。这是代码:

return posts.find({
        loc:
             { $near :
                    {
                        $geometry:{ type:"Point", coordinates:[ lng, lat]},
                        $maxDistance: maxDistance,
                        $minDistance: minDistance
                    }
             },
        });

}

我相信我已经完成了mongoDB(http://docs.mongodb.org/manual/reference/operator/query/near/)所描述的所有内容,但似乎我错过了一些东西。

1 个答案:

答案 0 :(得分:0)

为了同时获得$ minDistance& $ maxDistance工作我必须在代码中添加以下行:

Collection._ensureIndex({'loc':'2dsphere'});