当我进行查询以查找最接近查询的子文档时,我会这样做:
查询:
db.areas.findOne(
{ 'coordinates.geoindex' :
{ $near : [ 2.364022, 48.896606 ] }
}
)
它返回包含与查询最近的元素的数组的文档。但我想找到最近的子元素。
例如对于该查询,我应该首先找到第二个数组项“Aubervilliers”。
你认为这可能吗?
文档样式:
{
"_id" : ObjectId("5199335f6db079ede30000"),
"commercial_name" : "Paris area",
"coordinates" : [
{
"long_name" : "Arcueil",
"short_name" : "Arcueil",
"geoindex" : [
2.334955,
48.80486
]
},
{
"long_name" : "Aubervilliers",
"short_name" : "Aubervilliers",
"geoindex" : [
2.384049,
48.912259
]
},
{
"long_name" : "Bagnolet",
"short_name" : "Bagnolet",
"geoindex" : [
2.4234589,
48.870364
]
},
{
"long_name" : "Boulogne-Billancourt",
"short_name" : "Boulogne-Billancourt",
"geoindex" : [
2.237803,
48.84325
]
},
{
"long_name" : "Charenton",
"short_name" : "Charenton-le-Pont",
"geoindex" : [
2.4158559,
48.819918
]
}
...