我在集合中有以下文档
{
"_id" : ObjectId("589550ae930b4acade1e2157"),
"itemId" : "2",
"loc" : {
"type" : "GeometryCollection",
"geometries" : [
{
"type" : "Point",
"coordinates" : [
-121.9771985,
37.5637936
],
"address" : "Athy St"
},
{
"type" : "Point",
"coordinates" : [
-121.9430202,
37.3972994
],
"address" : "River Side Ct"
}
]
}
我使用以下查询从最近的位置查找项目:
db.store.find(
{
loc:
{ $near :
{
$geometry: { type: "Point", coordinates: [-121.9777269,37.5607686] },
$maxDistance: 3.0 * 1609.34
}
}
}
)
我试图限制获取并仅显示最近的匹配地址。假设查询的位置仅匹配River Side ct,我不想返回Athy Street。这是几何集合数组。我试图使用预测,但没有奏效。
你能告诉我如何限制吗?任何帮助都非常感谢。
提前致谢。
麦迪
答案 0 :(得分:1)
MongoDB $near
操作按距离排序(距离最近,
如getopt中所述,所以你所要做的就是限制结果。
db.store.find(
{
loc:
{ $near :
{
$geometry: { type: "Point", coordinates: [-121.9777269,37.5607686] },
$maxDistance: 3.0 * 1609.34
}
}
}
).limit(1)