我正在用Go语言从MongoDB中计算二维球面上两点之间的距离。
我遵循this answer并尝试了以下操作
conditions["geolocation"] = bson.M{
"$geoNear": bson.M{
"near": bson.M{
"type": "Point",
"coordinates": []float64{latitude, longitude},
},
"maxDistance": rangeInMeters,
"spherical": true,
"distanceField": "distance",
},
}
filterCursor, err := collection.Find(ctx, conditions)
但我得到这个错误:* "geo near查询中的参数无效:near"*
1条答案
按热度按时间lsmepo6l1#
上述答案使用MongoDB aggregate函数。
你可以像下面这样用golang来实现这一点:
如果要向管道线添加另一个查询,只需创建另一个stage并将其附加到stages切片即可
我也可以查看这个快速指南,了解如何在golang & mongo Golang & MongoDB - Data Aggregation Pipeline中使用聚合管道