我有一个数组import org.springframework.data.geo.Metrics;
final NearQuery query = NearQuery.near(new Point(longitude, latitude), Metrics.KILOMETERS)
.num(limit)
.minDistance(distanceInKiloMeters)
.maxDistance(maxNearByUEDistanceInKiloMeters)
.spherical(true);
final Aggregation a = newAggregation(geoNear(query, "distance"));
final AggregationResults<PlaceWithDistance> results = offlineMongoTemplate.aggregate(a, "myCollectionName", PlaceWithDistance.class);
final List<PlaceWithDistance> measurements = new ArrayList<PlaceWithDistance>(results.getMappedResults());
- 这包含x个ID。
我正在使用这是一个像:
这样的集合idsToHunt
现在我有Question.aggregate([
{$match: {publicID: { $in: idsToHunt} },
{$project: {_id:0, publicID:1, score:1} },
{$sort: {score: -1}}
],
function(err, found) {
nextStep = found
resolve();
})
- 我真正想做的是按{$sort: {score: -1}}
的索引排序。
所以如果idsToHunt
然后我希望预计结果如下:
idsToHunt = ['da22', 'ye66', '17hy']
而不是现在的随机顺序:
{publicID: 'da22', score: '2'}, {publicID: 'ye66', score: '2'}, {publicID: '17hy', score: '2'}
希望这是有道理的 - 任何帮助都会受到赞赏。
感谢。