From 78e2854bf1624d925df2b824c6a0a80ebecde1f7 Mon Sep 17 00:00:00 2001 From: Valeri Karpov Date: Thu, 2 Jul 2020 17:59:57 -0400 Subject: [PATCH 1/2] feat: start work on upgrading to mongodb driver 3.6 --- lib/model.js | 4 ++-- package.json | 34 +++++++++++++++++++++++----------- test/model.indexes.test.js | 22 ++++++++++++---------- 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/lib/model.js b/lib/model.js index 34af9f5a98b..741c645bd88 100644 --- a/lib/model.js +++ b/lib/model.js @@ -1357,7 +1357,7 @@ Model.syncIndexes = function syncIndexes(options, callback) { cb = this.$wrapCallback(cb); this.createCollection(err => { - if (err) { + if (err != null && err.codeName !== 'NamespaceExists') { return cb(err); } this.cleanIndexes((err, dropped) => { @@ -4898,7 +4898,7 @@ Model.$wrapCallback = function(callback) { if (err != null && err.name === 'MongoServerSelectionError') { arguments[0] = serverSelectionError.assimilateError(err); } - if (err != null && err.name === 'MongoNetworkError' && err.message.endsWith('timed out')) { + if (err != null && err.name === 'MongoNetworkTimeoutError' && err.message.endsWith('timed out')) { _this.db.emit('timeout'); } diff --git a/package.json b/package.json index ac0becb777e..1f4bebeb3b5 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "dependencies": { "bson": "^1.1.4", "kareem": "2.3.1", - "mongodb": "3.5.9", + "mongodb": "git@github.com:mongodb/node-mongodb-native.git#3.6", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.7.0", "mquery": "3.2.2", @@ -134,13 +134,22 @@ "no-const-assign": "error", "no-useless-rename": "error", "no-dupe-keys": "error", - "space-in-parens": ["error", "never"], - "spaced-comment": ["error", "always", { - "block": { - "markers": ["!"], - "balanced": true + "space-in-parens": [ + "error", + "never" + ], + "spaced-comment": [ + "error", + "always", + { + "block": { + "markers": [ + "!" + ], + "balanced": true + } } - }], + ], "key-spacing": [ "error", { @@ -156,10 +165,13 @@ } ], "array-bracket-spacing": 1, - "arrow-spacing": ["error", { - "before": true, - "after": true - }], + "arrow-spacing": [ + "error", + { + "before": true, + "after": true + } + ], "object-curly-spacing": [ "error", "always" diff --git a/test/model.indexes.test.js b/test/model.indexes.test.js index 43547aff57e..2c7a60059a4 100644 --- a/test/model.indexes.test.js +++ b/test/model.indexes.test.js @@ -20,7 +20,7 @@ describe('model', function() { before(function() { db = start(); - return db.createCollection('Test'); + return db.createCollection('Test').catch(() => {}); }); after(function(done) { @@ -458,16 +458,18 @@ describe('model', function() { const schema = new Schema({ arr: [childSchema] }); const Model = db.model('Test', schema); - return Model.init(). - then(() => Model.syncIndexes()). - then(() => Model.listIndexes()). - then(indexes => { - assert.equal(indexes.length, 2); - assert.ok(indexes[1].partialFilterExpression); - assert.deepEqual(indexes[1].partialFilterExpression, { - 'arr.name': { $exists: true } - }); + return co(function*() { + yield Model.init(); + + yield Model.syncIndexes(); + const indexes = yield Model.listIndexes(); + + assert.equal(indexes.length, 2); + assert.ok(indexes[1].partialFilterExpression); + assert.deepEqual(indexes[1].partialFilterExpression, { + 'arr.name': { $exists: true } }); + }); }); it('skips automatic indexing on childSchema if autoIndex: false (gh-9150)', function() { From 065d549caa08d6f0722ae21b33cacad58e6f786d Mon Sep 17 00:00:00 2001 From: Valeri Karpov Date: Fri, 31 Jul 2020 10:39:20 -0400 Subject: [PATCH 2/2] feat: use mongodb driver 3.6.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1f4bebeb3b5..0a05f3d089e 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "dependencies": { "bson": "^1.1.4", "kareem": "2.3.1", - "mongodb": "git@github.com:mongodb/node-mongodb-native.git#3.6", + "mongodb": "3.6.0", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.7.0", "mquery": "3.2.2",