From a73dc90b00930d3808dd2bfa7e2075e9cb7c7a29 Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Thu, 26 Feb 2015 16:01:10 +0000 Subject: [PATCH] change mongomangers upsert to use an inc this is tested and does work with new documents --- services/docstore/app/coffee/MongoManager.coffee | 3 ++- services/docstore/test/unit/coffee/MongoManagerTests.coffee | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/services/docstore/app/coffee/MongoManager.coffee b/services/docstore/app/coffee/MongoManager.coffee index be13b6a084..8db8d57dc3 100644 --- a/services/docstore/app/coffee/MongoManager.coffee +++ b/services/docstore/app/coffee/MongoManager.coffee @@ -12,9 +12,10 @@ module.exports = MongoManager = upsertIntoDocCollection: (project_id, doc_id, lines, oldRev, callback)-> update = $set:{} + $inc:{} update.$set["lines"] = lines update.$set["project_id"] = ObjectId(project_id) - update.$set["rev"] = oldRev + 1 + update.$inc["rev"] = 1 #on new docs being created this will set the rev to 1 db.docs.update _id: ObjectId(doc_id), update, {upsert: true}, callback diff --git a/services/docstore/test/unit/coffee/MongoManagerTests.coffee b/services/docstore/test/unit/coffee/MongoManagerTests.coffee index add0b33c37..97f09035e8 100644 --- a/services/docstore/test/unit/coffee/MongoManagerTests.coffee +++ b/services/docstore/test/unit/coffee/MongoManagerTests.coffee @@ -61,7 +61,7 @@ describe "MongoManager", -> args = @db.docs.update.args[0] assert.deepEqual args[0], {_id: ObjectId(@doc_id)} assert.equal args[1]["$set"]["lines"], @lines - assert.equal args[1]["$set"]["rev"], 78 + assert.equal args[1]["$inc"]["rev"], 1 assert.deepEqual args[1]["$set"]["project_id"], ObjectId(@project_id) done()