修改应用程序以插入支持查询的格式的文档。再添加一个包含要搜索的坐标的字段:
{
pickup: {
coords: null
},
meetup: {
coords: [ someLng, someLat ]
},
_search: {
coords: [ someLng, someLat ]
}
},
{
pickup: {
coords: null
},
meetup: {
coords: [ someLng1, someLat1 ]
},
_search: {
coords: [ someLng1, someLat1 ]
}
},
{
pickup: {
coords: [ someLng2, someLat2 ]
},
meetup: {
coords: [ someLng3, someLat3 ]
},
_search: {
coords: [ someLng2, someLat2 ]
}
}
此字段的索引:
db.collection.createIndex( { _search : "2dsphere" } )
搜索此字段:
db.collection.find(
{
_search: {
$nearSphere: {
$geometry: {
type : "Point",
coordinates : [ someLng4, someLat4 ]
}
}
}
}
)