假设我收集了具有指定经度和纬度的文件。
type is specified:
{
id: ObjectId,
location : {double, double}, /*array, that contains
just longitude and latitude*/
someUsefulData : string
}
我需要获取位于某个位置周围50英里区域内的所有文档。为此我正在使用这样的方法:
// set GetNear() options
var options = new GeoNearOptionsBuilder()
.SetMaxDistance(50) // meens 50 miles
.SetSpherical(true);
// create conditions query
var conditions = Query.NE("someUsefulData ", $ne : {null});
// execute GetNear()
var geoNearResult = collection
.GeoNear(conditions, longitude, latitude, limit, options);
这部分效果很好。
但是
我需要从一开始就跳过一些结果 - 对于经典的分页实现。也许,有人知道如何做到这一点,考虑到GeoNear()返回GeoNearResult的事实 - 这不是MongoCursor,所以我不能使用SetSkip(20),例如。
答案 0 :(得分:1)
我建议将限制设置为限制+ 20并跳过应用程序中的前20个文档。此外,您可以投票https://jira.mongodb.org/browse/SERVER-3925,这会为geoNear命令添加本机跳过选项。