From 0516e9429d07b5c6b3fcc40626454039e51d8178 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Mon, 16 Feb 2015 13:43:27 +0000 Subject: [PATCH] ensure document results are in version order --- .../track-changes/app/coffee/MongoPackManager.coffee | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/track-changes/app/coffee/MongoPackManager.coffee b/services/track-changes/app/coffee/MongoPackManager.coffee index 62fe466d5a..2067b24ec4 100644 --- a/services/track-changes/app/coffee/MongoPackManager.coffee +++ b/services/track-changes/app/coffee/MongoPackManager.coffee @@ -60,6 +60,9 @@ module.exports = MongoPackManager = return false if rangeQuery?['$gt']? && item['v'] <= rangeQuery['$gt'] return true + versionOrder = (a, b) -> + b.v - a.v + # create a query which can be used to select the entries BEFORE # the range because we sometimes need to find extra ones (when the # boundary falls in the middle of a pack) @@ -97,16 +100,16 @@ module.exports = MongoPackManager = .limit(1) extra.toArray (err, result2) -> if err? - return callback err, updates + return callback err, updates.sort versionOrder else extraSet = MongoPackManager._unpackResults(result2) updates = MongoPackManager._filterAndLimit(updates, extraSet, filterFn, limit) - callback err, updates + callback err, updates.sort versionOrder return if err? callback err, result else - callback err, updates + callback err, updates.sort versionOrder findProjectResults: (collection, query, limit, callback) -> # query - the mongo query selector, includes both the doc_id/project_id and