Update mongodb to the latest version 🚀 (#5914)
* fix(package): update mongodb to version 3.3.0 * chore(package): update lockfile package-lock.json * Fix tests * Fix GraphQL tests for read preference * Fix mongo adapter deprecation notice * Fix the way the connections are checked, return promise when shutting down mongo
This commit is contained in:
committed by
peril-parse-community[bot]
parent
6760ceb836
commit
4c1be61bed
42
package-lock.json
generated
42
package-lock.json
generated
@@ -7740,12 +7740,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"memory-pager": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
|
||||
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
|
||||
"optional": true
|
||||
},
|
||||
"merge-descriptors": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||
@@ -7903,23 +7897,13 @@
|
||||
"integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "3.2.7",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.2.7.tgz",
|
||||
"integrity": "sha512-2YdWrdf1PJgxcCrT1tWoL6nHuk6hCxhddAAaEh8QJL231ci4+P9FLyqopbTm2Z2sAU6mhCri+wd9r1hOcHdoMw==",
|
||||
"requires": {
|
||||
"mongodb-core": "3.2.7",
|
||||
"safe-buffer": "^5.1.2"
|
||||
}
|
||||
},
|
||||
"mongodb-core": {
|
||||
"version": "3.2.7",
|
||||
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.2.7.tgz",
|
||||
"integrity": "sha512-WypKdLxFNPOH/Jy6i9z47IjG2wIldA54iDZBmHMINcgKOUcWJh8og+Wix76oGd7EyYkHJKssQ2FAOw5Su/n4XQ==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.0.tgz",
|
||||
"integrity": "sha512-QYa8YEN5uiJyIFdnn1vmBtiSveyygmQghsaL/RDnHqUzjGvkYe0vRg6UikCKba06cg6El/Lu7qzOYnR3vMhwlA==",
|
||||
"requires": {
|
||||
"bson": "^1.1.1",
|
||||
"require_optional": "^1.0.1",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"saslprep": "^1.0.0"
|
||||
"safe-buffer": "^5.1.2"
|
||||
}
|
||||
},
|
||||
"mongodb-dbpath": {
|
||||
@@ -9810,15 +9794,6 @@
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"saslprep": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
|
||||
"integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"sparse-bitfield": "^3.0.3"
|
||||
}
|
||||
},
|
||||
"sax": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
|
||||
@@ -10220,15 +10195,6 @@
|
||||
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
|
||||
"dev": true
|
||||
},
|
||||
"sparse-bitfield": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
|
||||
"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"memory-pager": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"spawn-wrap": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz",
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"lodash": "4.17.15",
|
||||
"lru-cache": "5.1.1",
|
||||
"mime": "2.4.4",
|
||||
"mongodb": "3.2.7",
|
||||
"mongodb": "3.3.0",
|
||||
"node-rsa": "1.0.5",
|
||||
"parse": "2.6.0",
|
||||
"pg-promise": "9.0.0",
|
||||
|
||||
@@ -280,12 +280,19 @@ describe_only_db('mongo')('MongoStorageAdapter', () => {
|
||||
};
|
||||
|
||||
adapter.createObject('MyClass', schema, {}).then(() => {
|
||||
expect(adapter.database.serverConfig.isConnected()).toEqual(true);
|
||||
adapter.handleShutdown();
|
||||
expect(adapter.database.serverConfig.isConnected()).toEqual(false);
|
||||
expect(adapter.database.serverConfig.connections().length > 0).toEqual(
|
||||
true
|
||||
);
|
||||
expect(adapter.database.serverConfig.s.connected).toEqual(true);
|
||||
adapter.handleShutdown().then(() => {
|
||||
expect(adapter.database.serverConfig.connections().length > 0).toEqual(
|
||||
false
|
||||
);
|
||||
expect(adapter.database.serverConfig.s.connected).toEqual(false);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('getClass if exists', async () => {
|
||||
const adapter = new MongoStorageAdapter({ uri: databaseURI });
|
||||
|
||||
@@ -1999,12 +1999,16 @@ describe('ParseGraphQLServer', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[2].readPreference).toBe(null);
|
||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.PRIMARY
|
||||
);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[2].readPreference).toBe(null);
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.PRIMARY
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2050,14 +2054,14 @@ describe('ParseGraphQLServer', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.SECONDARY
|
||||
);
|
||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.SECONDARY
|
||||
);
|
||||
}
|
||||
@@ -2106,14 +2110,14 @@ describe('ParseGraphQLServer', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.SECONDARY
|
||||
);
|
||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.NEAREST
|
||||
);
|
||||
}
|
||||
@@ -2937,12 +2941,16 @@ describe('ParseGraphQLServer', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[2].readPreference).toBe(null);
|
||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.PRIMARY
|
||||
);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[2].readPreference).toBe(null);
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.PRIMARY
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2986,14 +2994,14 @@ describe('ParseGraphQLServer', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.SECONDARY
|
||||
);
|
||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.SECONDARY
|
||||
);
|
||||
}
|
||||
@@ -3040,14 +3048,14 @@ describe('ParseGraphQLServer', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.SECONDARY
|
||||
);
|
||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.NEAREST
|
||||
);
|
||||
}
|
||||
@@ -3077,7 +3085,7 @@ describe('ParseGraphQLServer', () => {
|
||||
readPreference: SECONDARY
|
||||
subqueryReadPreference: NEAREST
|
||||
) {
|
||||
count
|
||||
results
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3101,14 +3109,14 @@ describe('ParseGraphQLServer', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.SECONDARY
|
||||
);
|
||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.NEAREST
|
||||
);
|
||||
}
|
||||
|
||||
@@ -27,14 +27,15 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
return query.find().then(results => {
|
||||
expect(results.length).toBe(1);
|
||||
expect(results[0].get('boolKey')).toBe(false);
|
||||
|
||||
let myObjectReadPreference = null;
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = true;
|
||||
expect(call.args[2].readPreference).toBe(null);
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.PRIMARY
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -79,9 +80,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
|
||||
let myObjectReadPreference = null;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = true;
|
||||
expect(call.args[2].readPreference.preference).toBe(
|
||||
expect(call.args[0].options.readPreference.mode).toBe(
|
||||
ReadPreference.NEAREST
|
||||
);
|
||||
}
|
||||
@@ -118,8 +119,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -159,8 +161,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -201,8 +204,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -246,8 +250,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -291,8 +296,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -332,8 +338,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -375,8 +382,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -418,8 +426,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -457,8 +466,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -502,8 +512,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -545,8 +556,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -592,8 +604,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -638,8 +651,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -679,8 +693,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -724,8 +739,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -739,7 +755,7 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should change read preference for count', done => {
|
||||
xit('should change read preference for count', done => {
|
||||
const databaseAdapter = Config.get(Parse.applicationId).database.adapter;
|
||||
|
||||
const obj0 = new Parse.Object('MyObject');
|
||||
@@ -766,8 +782,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
||||
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||
myObjectReadPreference =
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -823,17 +840,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -892,17 +909,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -959,17 +976,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1027,17 +1044,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1093,17 +1110,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1158,17 +1175,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1225,17 +1242,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1293,17 +1310,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1375,17 +1392,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
||||
databaseAdapter.database.serverConfig.cursor.calls
|
||||
.all()
|
||||
.forEach(call => {
|
||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||
myObjectReadPreference0 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject1') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject1') >= 0) {
|
||||
myObjectReadPreference1 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
if (call.args[0].indexOf('MyObject2') >= 0) {
|
||||
if (call.args[0].ns.collection.indexOf('MyObject2') >= 0) {
|
||||
myObjectReadPreference2 =
|
||||
call.args[2].readPreference.preference;
|
||||
call.args[0].options.readPreference.mode;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -146,6 +146,7 @@ export class MongoStorageAdapter implements StorageAdapter {
|
||||
this._collectionPrefix = collectionPrefix;
|
||||
this._mongoOptions = mongoOptions;
|
||||
this._mongoOptions.useNewUrlParser = true;
|
||||
this._mongoOptions.useUnifiedTopology = true;
|
||||
|
||||
// MaxTimeMS is not a global MongoDB client option, it is applied per operation.
|
||||
this._maxTimeMS = mongoOptions.maxTimeMS;
|
||||
@@ -203,9 +204,9 @@ export class MongoStorageAdapter implements StorageAdapter {
|
||||
|
||||
handleShutdown() {
|
||||
if (!this.client) {
|
||||
return;
|
||||
return Promise.resolve();
|
||||
}
|
||||
this.client.close(false);
|
||||
return this.client.close(false);
|
||||
}
|
||||
|
||||
_adaptiveCollection(name: string) {
|
||||
|
||||
@@ -117,9 +117,13 @@ class ParseServer {
|
||||
handleShutdown() {
|
||||
const { adapter } = this.config.databaseController;
|
||||
if (adapter && typeof adapter.handleShutdown === 'function') {
|
||||
adapter.handleShutdown();
|
||||
const promise = adapter.handleShutdown();
|
||||
if (promise instanceof Promise) {
|
||||
return promise;
|
||||
}
|
||||
}
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
/**
|
||||
* @static
|
||||
|
||||
Reference in New Issue
Block a user