这可以根据坐标的半径搜索集合。问题是我被迫为它的坐标创建一个索引。我想在同一个坐标上有多个元素。是否有另一个选项而不是nearSphere,它没有coords索引?
...
lat := loc.Coordinates[1]
long := loc.Coordinates[0]
scope := 321869 // 100 miles
err := c.Find(bson.M{"loc": bson.M{"$nearSphere": bson.M{"$geometry": bson.M{
"type": "Point",
"coordinates": []float64{long, lat},
},
"$maxDistance": scope,
},
}}).All(&users)
...