您好,对于您的情况,我认为您应该将doc改为
{ "_id" : ObjectId("545749dba2b0b4cf603a7546"), "city" : "B", "placeName" : "A", "loc" : { "lon" : 51.10682735591432, "lat" : -114.11773681640625 }}{ "_id" : ObjectId("545749f3a2b0b4cf603a7547"), "city" : "B1", "placeName" : "A1", "loc" : { "lon" : 51.09144802136697, "lat" : -114.11773681640625 }}之后,将上述文件索引如下
db.collectionName.ensureIndex({loc:"2d"})如果索引执行正确,则编写以下查询以查找文档附近
db.location.find({loc: {$near:[51,-114]}})如需更多帮助,请参考此mongo $ near和$ geoNear
单击此处
并对golang感到抱歉,因为我对golang不了解更多
对于golang
var places []Placelat := 51.515614long := -0.268998err = coll.Find(bson.M{"loc": bson.M{"$near": []float64{long, lat}, "$maxDistance" : 0.056}}).All(&places)


