具有近球条件的MongoDB查找表达式
我有一个场景,我必须加入我的餐厅和拉链收集基于他们的位置 餐厅具有近球条件的MongoDB查找表达式,mongodb,mongodb-query,aggregation-framework,geospatial,mongodb-geospatial,Mongodb,Mongodb Query,Aggregation Framework,Geospatial,Mongodb Geospatial,我有一个场景,我必须加入我的餐厅和拉链收集基于他们的位置 餐厅 [{ "_id" : ObjectId("55cba2486c522cafdb059deb"), "location" : { "coordinates" : [ -74.138492, 40.631136 ], "type" : "Point" }, "name" : "Indian Oven" }]
[{
"_id" : ObjectId("55cba2486c522cafdb059deb"),
"location" : {
"coordinates" : [
-74.138492,
40.631136
],
"type" : "Point"
},
"name" : "Indian Oven"
}]
[{
"_id" : "99950",
"city" : "KETCHIKAN",
"loc" : [
-133.18479,
55.942471
],
"pop" : 422,
"state" : "AK"
}]
拉链
[{
"_id" : ObjectId("55cba2486c522cafdb059deb"),
"location" : {
"coordinates" : [
-74.138492,
40.631136
],
"type" : "Point"
},
"name" : "Indian Oven"
}]
[{
"_id" : "99950",
"city" : "KETCHIKAN",
"loc" : [
-133.18479,
55.942471
],
"pop" : 422,
"state" : "AK"
}]
现在我必须加入这两个基于集合的近球地理空间查询。我应该在$lookup管道中使用什么标准
我试过的是
db.restaurants.aggregate([
{
$lookup:
{
from: "zips",
let: { location: "$location" },
pipeline: [{
$match: {
'loc': { $nearSphere: '$$location' }
}
}],
as: "t"
}
}
]);
但这是行不通的
需要帮助吗