1
我有2個服務提供商和家長收藏。Mongo獲取指定位置10英里以內的所有文檔
的ServiceProvider(_id,ServiceProviderID,...)
父母(_id,ID,位置:[緯度,經度],...)
的ServiceProvider收藏ServiceProviderID鏈接到父母收藏的ID。
我希望位於10英里以內的所有服務提供商。
所以基本上我想加入ServiceProvider和Parents集合並列出位於10英里範圍內的所有ServiceProvider。
我曾嘗試以下查詢:
db.ServiceProvider.aggregate([
{
$lookup:
{
from: "Parents",
localField: "ServiceProviderID",
foreignField: "ID",
as: "ServiceProviderArr"
}
},
{
$match: { "ServiceProviderArr": { $ne: [] } }
}
])
它給了我下面的結果:
{
"_id" : ObjectId("577cc2ce588aec59178b4567"),
...
"ServiceProviderArr" : [
{
"_id" : ObjectId("577cbe33588aecf6168b45c6"),
"ID" : "193",
...
"Location" : {
"Lat" : "40.75368539999999",
"Long" : "-73.9991637"
}
}
]
}
我的答案能解決你的問題嗎? – sergiuz
@SergiuZaharie是的,你的回答確實有幫助。謝謝! – Chinmay