From c847350a124c60599aca2a3b22a9efa094b7b87e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 31 Jul 2017 23:51:29 +0200 Subject: [PATCH] sort and filter by GPSFIX.TIME_AS_MILLIS, not only TIME_AS_MILLIS; it is an internal field Change-Id: Iafbb59da918a7bd8650f61567e01b64bbce27660 --- .../racelog/tracking/impl/MongoSensorFixStoreImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/racelog/tracking/impl/MongoSensorFixStoreImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/racelog/tracking/impl/MongoSensorFixStoreImpl.java index d9cf59b0009..e8a24333471 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/racelog/tracking/impl/MongoSensorFixStoreImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/racelog/tracking/impl/MongoSensorFixStoreImpl.java @@ -129,17 +129,17 @@ public class MongoSensorFixStoreImpl implements MongoSensorFixStore { DBObject dbDeviceId = storeDeviceId(deviceServiceFinder, device); final QueryBuilder queryBuilder = QueryBuilder.start(FieldNames.DEVICE_ID.name()).is(dbDeviceId) - .and(FieldNames.TIME_AS_MILLIS.name()); + .and(FieldNames.GPSFIX.name()+"."+FieldNames.TIME_AS_MILLIS.name()); if (inclusive) { - queryBuilder.greaterThanEquals(loadFixesFrom.asMillis()).and(FieldNames.TIME_AS_MILLIS.name()) + queryBuilder.greaterThanEquals(loadFixesFrom.asMillis()).and(FieldNames.GPSFIX.name()+"."+FieldNames.TIME_AS_MILLIS.name()) .lessThanEquals(loadFixesTo.asMillis()); } else { - queryBuilder.greaterThanEquals(loadFixesFrom.asMillis()).and(FieldNames.TIME_AS_MILLIS.name()) + queryBuilder.greaterThanEquals(loadFixesFrom.asMillis()).and(FieldNames.GPSFIX.name()+"."+FieldNames.TIME_AS_MILLIS.name()) .lessThan(loadFixesTo.asMillis()); } DBObject query = queryBuilder.get(); DBCursor result = fixesCollection.find(query); - result.sort(new BasicDBObject(FieldNames.TIME_AS_MILLIS.name(), ascending ? 1 : -1)); + result.sort(new BasicDBObject(FieldNames.GPSFIX.name()+"."+FieldNames.TIME_AS_MILLIS.name(), ascending ? 1 : -1)); if (onlyOneResult) { result.limit(1); }