2017-09-21 156 views
0

排序$ geoIntersects我有这样的文档集合:MongoDB的 - 通过重叠率

{ 
    _id: ObjectId, 
    type: "string", // COUNTRY, STATE, CITY 
    geometry: { 
    type: "MultiPolygon", 
    coordinates: <coordinates> 
    } 
} 

我想计算实例,其中COUNTRY是每个STATE。我试着这样做:

var state = db.entity.findOne({_id:ObjectId("someStateID")}); 

db.entity.find({ 
    geometry: { 
    $geoIntersects: { 
     $geometry: state.geometry 
    } 
    }, 
    type:"COUNTRY" 
}); 

这工作得很好,在某些情况下,一些STATE的线接触邻居COUNTRY,我有两个或多个文档的边界节选。

Here is an example image

有没有一种方法可以让我排序这个结果通过重叠百分比是多少?或者任何类型的过滤器知道哪一个是确切的父母?

回答