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": {
|
"merge-descriptors": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
"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=="
|
"integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
|
||||||
},
|
},
|
||||||
"mongodb": {
|
"mongodb": {
|
||||||
"version": "3.2.7",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.0.tgz",
|
||||||
"integrity": "sha512-2YdWrdf1PJgxcCrT1tWoL6nHuk6hCxhddAAaEh8QJL231ci4+P9FLyqopbTm2Z2sAU6mhCri+wd9r1hOcHdoMw==",
|
"integrity": "sha512-QYa8YEN5uiJyIFdnn1vmBtiSveyygmQghsaL/RDnHqUzjGvkYe0vRg6UikCKba06cg6El/Lu7qzOYnR3vMhwlA==",
|
||||||
"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==",
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"bson": "^1.1.1",
|
"bson": "^1.1.1",
|
||||||
"require_optional": "^1.0.1",
|
"require_optional": "^1.0.1",
|
||||||
"safe-buffer": "^5.1.2",
|
"safe-buffer": "^5.1.2"
|
||||||
"saslprep": "^1.0.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongodb-dbpath": {
|
"mongodb-dbpath": {
|
||||||
@@ -9810,15 +9794,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"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": {
|
"sax": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
|
||||||
@@ -10220,15 +10195,6 @@
|
|||||||
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
|
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
|
||||||
"dev": true
|
"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": {
|
"spawn-wrap": {
|
||||||
"version": "1.4.2",
|
"version": "1.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz",
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
"lodash": "4.17.15",
|
"lodash": "4.17.15",
|
||||||
"lru-cache": "5.1.1",
|
"lru-cache": "5.1.1",
|
||||||
"mime": "2.4.4",
|
"mime": "2.4.4",
|
||||||
"mongodb": "3.2.7",
|
"mongodb": "3.3.0",
|
||||||
"node-rsa": "1.0.5",
|
"node-rsa": "1.0.5",
|
||||||
"parse": "2.6.0",
|
"parse": "2.6.0",
|
||||||
"pg-promise": "9.0.0",
|
"pg-promise": "9.0.0",
|
||||||
|
|||||||
@@ -280,10 +280,17 @@ describe_only_db('mongo')('MongoStorageAdapter', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
adapter.createObject('MyClass', schema, {}).then(() => {
|
adapter.createObject('MyClass', schema, {}).then(() => {
|
||||||
expect(adapter.database.serverConfig.isConnected()).toEqual(true);
|
expect(adapter.database.serverConfig.connections().length > 0).toEqual(
|
||||||
adapter.handleShutdown();
|
true
|
||||||
expect(adapter.database.serverConfig.isConnected()).toEqual(false);
|
);
|
||||||
done();
|
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();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1999,12 +1999,16 @@ describe('ParseGraphQLServer', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||||
foundGraphQLClassReadPreference = true;
|
foundGraphQLClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference).toBe(null);
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
ReadPreference.PRIMARY
|
||||||
|
);
|
||||||
|
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||||
foundUserClassReadPreference = true;
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||||
foundGraphQLClassReadPreference = true;
|
foundGraphQLClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.SECONDARY
|
ReadPreference.SECONDARY
|
||||||
);
|
);
|
||||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||||
foundUserClassReadPreference = true;
|
foundUserClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.SECONDARY
|
ReadPreference.SECONDARY
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -2106,14 +2110,14 @@ describe('ParseGraphQLServer', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||||
foundGraphQLClassReadPreference = true;
|
foundGraphQLClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.SECONDARY
|
ReadPreference.SECONDARY
|
||||||
);
|
);
|
||||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||||
foundUserClassReadPreference = true;
|
foundUserClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.NEAREST
|
ReadPreference.NEAREST
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -2937,12 +2941,16 @@ describe('ParseGraphQLServer', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||||
foundGraphQLClassReadPreference = true;
|
foundGraphQLClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference).toBe(null);
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
ReadPreference.PRIMARY
|
||||||
|
);
|
||||||
|
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||||
foundUserClassReadPreference = true;
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||||
foundGraphQLClassReadPreference = true;
|
foundGraphQLClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.SECONDARY
|
ReadPreference.SECONDARY
|
||||||
);
|
);
|
||||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||||
foundUserClassReadPreference = true;
|
foundUserClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.SECONDARY
|
ReadPreference.SECONDARY
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -3040,14 +3048,14 @@ describe('ParseGraphQLServer', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||||
foundGraphQLClassReadPreference = true;
|
foundGraphQLClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.SECONDARY
|
ReadPreference.SECONDARY
|
||||||
);
|
);
|
||||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||||
foundUserClassReadPreference = true;
|
foundUserClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.NEAREST
|
ReadPreference.NEAREST
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -3077,7 +3085,7 @@ describe('ParseGraphQLServer', () => {
|
|||||||
readPreference: SECONDARY
|
readPreference: SECONDARY
|
||||||
subqueryReadPreference: NEAREST
|
subqueryReadPreference: NEAREST
|
||||||
) {
|
) {
|
||||||
count
|
results
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3101,14 +3109,14 @@ describe('ParseGraphQLServer', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('GraphQLClass') >= 0) {
|
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||||
foundGraphQLClassReadPreference = true;
|
foundGraphQLClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.SECONDARY
|
ReadPreference.SECONDARY
|
||||||
);
|
);
|
||||||
} else if (call.args[0].indexOf('_User') >= 0) {
|
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||||
foundUserClassReadPreference = true;
|
foundUserClassReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.NEAREST
|
ReadPreference.NEAREST
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,14 +27,15 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
return query.find().then(results => {
|
return query.find().then(results => {
|
||||||
expect(results.length).toBe(1);
|
expect(results.length).toBe(1);
|
||||||
expect(results[0].get('boolKey')).toBe(false);
|
expect(results[0].get('boolKey')).toBe(false);
|
||||||
|
|
||||||
let myObjectReadPreference = null;
|
let myObjectReadPreference = null;
|
||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = true;
|
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;
|
let myObjectReadPreference = null;
|
||||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
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;
|
myObjectReadPreference = true;
|
||||||
expect(call.args[2].readPreference.preference).toBe(
|
expect(call.args[0].options.readPreference.mode).toBe(
|
||||||
ReadPreference.NEAREST
|
ReadPreference.NEAREST
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -118,8 +119,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -159,8 +161,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -201,8 +204,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -246,8 +250,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -291,8 +296,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -332,8 +338,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -375,8 +382,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -418,8 +426,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -457,8 +466,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -502,8 +512,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -545,8 +556,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -592,8 +604,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -638,8 +651,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -679,8 +693,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -724,8 +739,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
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 databaseAdapter = Config.get(Parse.applicationId).database.adapter;
|
||||||
|
|
||||||
const obj0 = new Parse.Object('MyObject');
|
const obj0 = new Parse.Object('MyObject');
|
||||||
@@ -766,8 +782,9 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject') >= 0) {
|
||||||
myObjectReadPreference = call.args[2].readPreference.preference;
|
myObjectReadPreference =
|
||||||
|
call.args[0].options.readPreference.mode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -823,17 +840,17 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
databaseAdapter.database.serverConfig.cursor.calls
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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
|
databaseAdapter.database.serverConfig.cursor.calls
|
||||||
.all()
|
.all()
|
||||||
.forEach(call => {
|
.forEach(call => {
|
||||||
if (call.args[0].indexOf('MyObject0') >= 0) {
|
if (call.args[0].ns.collection.indexOf('MyObject0') >= 0) {
|
||||||
myObjectReadPreference0 =
|
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 =
|
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 =
|
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._collectionPrefix = collectionPrefix;
|
||||||
this._mongoOptions = mongoOptions;
|
this._mongoOptions = mongoOptions;
|
||||||
this._mongoOptions.useNewUrlParser = true;
|
this._mongoOptions.useNewUrlParser = true;
|
||||||
|
this._mongoOptions.useUnifiedTopology = true;
|
||||||
|
|
||||||
// MaxTimeMS is not a global MongoDB client option, it is applied per operation.
|
// MaxTimeMS is not a global MongoDB client option, it is applied per operation.
|
||||||
this._maxTimeMS = mongoOptions.maxTimeMS;
|
this._maxTimeMS = mongoOptions.maxTimeMS;
|
||||||
@@ -203,9 +204,9 @@ export class MongoStorageAdapter implements StorageAdapter {
|
|||||||
|
|
||||||
handleShutdown() {
|
handleShutdown() {
|
||||||
if (!this.client) {
|
if (!this.client) {
|
||||||
return;
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
this.client.close(false);
|
return this.client.close(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
_adaptiveCollection(name: string) {
|
_adaptiveCollection(name: string) {
|
||||||
|
|||||||
@@ -117,8 +117,12 @@ class ParseServer {
|
|||||||
handleShutdown() {
|
handleShutdown() {
|
||||||
const { adapter } = this.config.databaseController;
|
const { adapter } = this.config.databaseController;
|
||||||
if (adapter && typeof adapter.handleShutdown === 'function') {
|
if (adapter && typeof adapter.handleShutdown === 'function') {
|
||||||
adapter.handleShutdown();
|
const promise = adapter.handleShutdown();
|
||||||
|
if (promise instanceof Promise) {
|
||||||
|
return promise;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user