nongo-driver 2.12.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/atlas-api.js +6 -6
  2. package/dist/atlas-api.js.map +1 -1
  3. package/dist/cursor-iterator.d.ts +1 -2
  4. package/dist/cursor-iterator.js +3 -1
  5. package/dist/cursor-iterator.js.map +1 -1
  6. package/dist/generate-interfaces.js +24 -7
  7. package/dist/generate-interfaces.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +33 -17
  10. package/dist/index.js.map +1 -1
  11. package/dist/interface/atlas/field.d.ts +1 -1
  12. package/dist/interface/atlas/field.js +1 -0
  13. package/dist/interface/atlas/field.js.map +1 -1
  14. package/dist/interface/atlas/index.js +15 -4
  15. package/dist/interface/atlas/index.js.map +1 -1
  16. package/dist/interface/index.d.ts +1 -10
  17. package/dist/interface/index.js +15 -4
  18. package/dist/interface/index.js.map +1 -1
  19. package/dist/model.d.ts +12 -13
  20. package/dist/model.js +26 -29
  21. package/dist/model.js.map +1 -1
  22. package/dist/mongo-index.d.ts +2 -3
  23. package/dist/mongo-index.js.map +1 -1
  24. package/dist/nongo.d.ts +1 -1
  25. package/dist/nongo.js +17 -21
  26. package/dist/nongo.js.map +1 -1
  27. package/dist/schema-parser.js +10 -10
  28. package/dist/schema-parser.js.map +1 -1
  29. package/dist/ts-interface-generator.js +18 -2
  30. package/dist/ts-interface-generator.js.map +1 -1
  31. package/dist/validator.js +1 -1
  32. package/dist/validator.js.map +1 -1
  33. package/package.json +16 -24
  34. package/src/atlas-api.ts +11 -40
  35. package/src/cursor-iterator.ts +1 -3
  36. package/src/index.ts +1 -1
  37. package/src/interface/index.ts +0 -11
  38. package/src/model.ts +25 -39
  39. package/src/mongo-index.ts +1 -3
  40. package/src/nongo.ts +1 -5
  41. package/test/database-helper.ts +26 -13
  42. package/test/models/dummy-model-changed-obj.ts +12 -0
  43. package/test/models/dummy-model-obj.ts +40 -0
  44. package/test/models/dummy-model-with-max-index-obj.ts +195 -0
  45. package/test/models/text-index-model-modified-obj.ts +12 -0
  46. package/test/models/text-index-model-obj.ts +11 -0
  47. package/test/models/text-index-model-too-long-obj.ts +11 -0
  48. package/test/nongo-multi.test.ts +2 -5
  49. package/test/nongo.test.ts +125 -172
package/dist/nongo.js CHANGED
@@ -12,6 +12,20 @@ const mongo_index_set_1 = __importDefault(require("./mongo-index-set"));
12
12
  const schema_parser_1 = __importDefault(require("./schema-parser"));
13
13
  const logger = new wbb_logger_1.default('nongo.ts');
14
14
  class Nongo {
15
+ /*
16
+ * @return a new ObjectId if {@code id} is null, an ObjectId created using {@code id}.
17
+ */
18
+ static toObjectId(id) {
19
+ // Set the object id if there isn't one already
20
+ if (id == null) {
21
+ id = new mongodb_1.ObjectId();
22
+ // If {@code this.obj._id} is not an {@code ObjectId} turn it into one
23
+ }
24
+ else if (!(id instanceof mongodb_1.ObjectId)) {
25
+ id = new mongodb_1.ObjectId(id);
26
+ }
27
+ return id;
28
+ }
15
29
  // {@code modelClasses} should actually be of type {@code Model[]} throws a
16
30
  // compiler error when calling {@code Class.name}
17
31
  constructor(params, modelClasses, schemaParsers, mongoClient, poolSize) {
@@ -28,28 +42,10 @@ class Nongo {
28
42
  // Map of collection names to a function that when called returns a newly created instance of the appropriate Model
29
43
  this.newGeneratorMap = {};
30
44
  }
31
- /*
32
- * @return a new ObjectId if {@code id} is null, an ObjectId created using {@code id}.
33
- */
34
- static toObjectId(id) {
35
- // Set the object id if there isn't one already
36
- if (id == null) {
37
- id = new mongodb_1.ObjectId();
38
- // If {@code this.obj._id} is not an {@code ObjectId} turn it into one
39
- }
40
- else if (!(id instanceof mongodb_1.ObjectId)) {
41
- id = new mongodb_1.ObjectId(id);
42
- }
43
- return id;
44
- }
45
45
  async connect() {
46
46
  var _a;
47
47
  // Connect to the database
48
- this.mongoClient = (_a = this.mongoClient, (_a !== null && _a !== void 0 ? _a : await mongodb_1.MongoClient.connect(this.uri(), {
49
- useNewUrlParser: true,
50
- useUnifiedTopology: true,
51
- poolSize: this.poolSize,
52
- })));
48
+ this.mongoClient = (_a = this.mongoClient) !== null && _a !== void 0 ? _a : await new mongodb_1.MongoClient(this.uri(), { minPoolSize: this.poolSize }).connect();
53
49
  this.db = this.mongoClient.db(this.params.db);
54
50
  this.dbName = this.params.db;
55
51
  // Map the classes to instances
@@ -215,7 +211,7 @@ class Nongo {
215
211
  logger.info(`${context} is creating ${index}...`);
216
212
  }
217
213
  // If there is an existing index with same name and different config, drop it
218
- const replacementRequired = existingIndex && !deep_equal_1.default(index, existingIndex);
214
+ const replacementRequired = existingIndex && !(0, deep_equal_1.default)(index, existingIndex);
219
215
  if (replacementRequired) {
220
216
  logger.info(`${context} is replacing ${existingIndex} with ${index}...`);
221
217
  await collection.dropIndex(existingIndex.name);
@@ -250,7 +246,7 @@ class Nongo {
250
246
  for (const indexInfo of await collection.indexes()) {
251
247
  // Add all the indexes to the {@code indexSet} except _id
252
248
  const index = indexInfo.key;
253
- if (!deep_equal_1.default(index, { _id: 1 })) {
249
+ if (!(0, deep_equal_1.default)(index, { _id: 1 })) {
254
250
  // Parse the index info
255
251
  const options = {
256
252
  unique: indexInfo.unique,
package/dist/nongo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nongo.js","sourceRoot":"","sources":["../src/nongo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nongo.js","sourceRoot":"","sources":["../src/nongo.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,16 @@ const validSchemaKeys = new Set([
15
15
  'notEmpty',
16
16
  ]);
17
17
  class SchemaParser {
18
+ static standardSchemaError(path, fieldName) {
19
+ const fullPath = path + '.' + fieldName;
20
+ return 'If set, ' + fullPath + ' must be a boolean, a function that returns a boolean or an array of length 2.'
21
+ + ' The 1st of the array elements can either be a boolean or a function that returns a boolean, if true the '
22
+ + fullPath + ' field is active. The second element is either a string error'
23
+ + ' message or a function that should return the error message.';
24
+ }
25
+ static notEmptyTypeError(path) {
26
+ return path + '.type must be either "string" or "array" to be used with "notEmpty"';
27
+ }
18
28
  constructor(schema, collection) {
19
29
  this.schema = schema;
20
30
  this.validKeys = new Set(['_id']);
@@ -27,16 +37,6 @@ class SchemaParser {
27
37
  throw err;
28
38
  }
29
39
  }
30
- static standardSchemaError(path, fieldName) {
31
- const fullPath = path + '.' + fieldName;
32
- return 'If set, ' + fullPath + ' must be a boolean, a function that returns a boolean or an array of length 2.'
33
- + ' The 1st of the array elements can either be a boolean or a function that returns a boolean, if true the '
34
- + fullPath + ' field is active. The second element is either a string error'
35
- + ' message or a function that should return the error message.';
36
- }
37
- static notEmptyTypeError(path) {
38
- return path + '.type must be either "string" or "array" to be used with "notEmpty"';
39
- }
40
40
  parseSchema(parentPath, definition) {
41
41
  for (const key of Object.keys(definition)) {
42
42
  // Define the path to the current key
@@ -1 +1 @@
1
- {"version":3,"file":"schema-parser.js","sourceRoot":"","sources":["../src/schema-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-parser.js","sourceRoot":"","sources":["../src/schema-parser.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,25 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
2
18
  var __importStar = (this && this.__importStar) || function (mod) {
3
19
  if (mod && mod.__esModule) return mod;
4
20
  var result = {};
5
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
6
- result["default"] = mod;
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
7
23
  return result;
8
24
  };
9
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
@@ -1 +1 @@
1
- {"version":3,"file":"ts-interface-generator.js","sourceRoot":"","sources":["../src/ts-interface-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-interface-generator.js","sourceRoot":"","sources":["../src/ts-interface-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEzB,oDAA4B;AAC5B,4DAAmC;AAEnC,MAAM,QAAQ,GAAG;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,KAAK;IACb,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAqB,oBAAoB;IAEvC;;;;OAIG;IACI,iBAAiB,CAAC,UAAmB,EAAE,IAAI;QAChD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,GAAG;YACX,IAAI,EAAE,UAAU;SACjB,CAAC;QACF,MAAM,IAAI,GACR,yEAAyE;YACzE,4BAA4B,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QACjF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,MAAW,EAAE,KAAK,GAAG,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,GAAG,KAAK,CAAC;QAEjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACrC,+BAA+B;YAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;YAE/B,gFAAgF;YAChF,IAAI,OAAO,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,SAAS,YAAY,eAAK,EAAE;gBAC3E,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;aAC5E;YAED,wCAAwC;YACxC,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,EAAE;gBAC9C,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxE,OAAO,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YAChE,CAAC,CAAC;YAEF,gCAAgC;YAChC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAE5G,wBAAwB;YACxB,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAEtE,6CAA6C;YAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gBAEjC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC5B,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;wBAC1B,IAAI,IAAI,SAAS,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC;qBACpD;yBAAM;wBACL,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC;qBACnB;iBACF;qBAAM,IAAI,SAAS,YAAY,mBAAQ,EAAE;oBACxC,IAAI,IAAI,mBAAmB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC;iBAC/E;qBAAM;oBACL,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC/C;gBAED,yBAAyB;aAC1B;iBAAM;gBACL,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,2CAA2C,CAAC,CAAC;iBAC1E;gBACD,IAAI,IAAI,MAAM,CAAC;aAChB;YACD,IAAI,IAAI,KAAK,CAAC;SAEf;QAED,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAEnC,OAAO,IAAI,CAAC;IAEd,CAAC;CAEF;AAtFD,uCAsFC"}
package/dist/validator.js CHANGED
@@ -186,7 +186,7 @@ class Validator {
186
186
  // Check if typeof is correct
187
187
  typeof value === type ||
188
188
  // Check for date
189
- type === 'date' && is_date_object_1.default(value);
189
+ type === 'date' && (0, is_date_object_1.default)(value);
190
190
  }
191
191
  primitiveArrayType(type, array, path) {
192
192
  const error = '"' + path + '" must be an array of "' + type + '" elements.';
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":";;;;;AAAA,oEAAoC;AACpC,oDAA4B;AAE5B,MAAqB,SAAS;IAK5B,YAAoB,MAAW,EAAU,KAAU;QAA/B,WAAM,GAAN,MAAM,CAAK;QAAU,UAAK,GAAL,KAAK,CAAK;QAH5C,SAAI,GAAa,EAAE,CAAC;QAIzB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,YAAiB,EAAE,MAAW;QACxE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC3C,qCAAqC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAEvD,gBAAgB;YAChB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAEzB,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;gBAC/C,SAAS;aACV;YAED,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;gBACzC,SAAS;aACV;YAED,sEAAsE;YACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE;gBACb,SAAS;aACV;YAED,iBAAiB;YACjB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;gBACvE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAExC,QAAQ;aACT;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAE9B,kCAAkC;gBAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;oBACnD,SAAS;iBACV;gBAED,eAAe;gBACf,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEvB,sBAAsB;gBACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;wBAChD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;qBACzC;oBAED,mBAAmB;iBACpB;qBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;oBAClD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;wBAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;qBAC/C;iBACF;gBAED,gBAAgB;aACjB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;gBAE9E,mCAAmC;gBACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;oBACpD,SAAS;iBACV;gBAED,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI;QAC7C,yBAAyB;QACzB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE;YAExC,qBAAqB;YACrB,MAAM,UAAU,GAAG,qCAAqC,GAAG,KAAK,GAAG,wBAAwB,CAAC;YAC5F,MAAM,SAAS,GACb,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEzB,sBAAsB;YACtB,IAAI,MAAM,EAAE;gBAEV,iDAAiD;gBACjD,MAAM,KAAK,GAAG;oBACZ,GAAG,EAAE;wBACH,GAAG,EAAE,eAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;qBACpC;iBACF,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAE5C,qBAAqB;gBACrB,IAAI,GAAG,EAAE;oBACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACzB,OAAO,KAAK,CAAC;iBACd;aAEF;SAEF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI;QACtC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;YAE1C,qBAAqB;YACrB,MAAM,UAAU,GAAG,KAAK,GAAG,wCAAwC,CAAC;YACpE,MAAM,SAAS,GACb,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAI,CAAC,KAAK,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC;aACd;SAEF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI;QACzC,4BAA4B;QAC5B,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;YAE1C,qBAAqB;YACrB,MAAM,SAAS,GACb,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,8BAA8B,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE3B,iBAAiB;YACjB,IAAI,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;gBACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC;aACd;SAEF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI;QACnC,2BAA2B;QAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;YAEjB,8BAA8B;YAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE;gBAEnB,qBAAqB;gBACrB,MAAM,SAAS,GACb,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAC;gBAC9E,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE3B,sDAAsD;gBACtD,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC5B;aAEF;YAED,OAAO,KAAK,CAAC;SAEd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,QAAQ,CAAC,gCAAgC,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;SACrE;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,IAAY,EAAE,KAAK;QACzC,eAAe;QACf,OAAO,IAAI,KAAK,KAAK;YACnB,6BAA6B;YAC7B,OAAO,KAAK,KAAK,IAAI;YACrB,iBAAiB;YACjB,IAAI,KAAK,MAAM,IAAI,wBAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEM,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI;QACzC,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,yBAAyB,GAAG,IAAI,GAAG,aAAa,CAAC;QAE5E,kCAAkC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;SACd;QAED,+CAA+C;QAC/C,IAAI,IAAI,KAAK,KAAK,EAAE;YAElB,sDAAsD;YACtD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;oBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,OAAO,KAAK,CAAC;iBACd;aACF;SAEF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,WAAgB,EAAE,GAAQ,EAAE,UAAkB;QACvE,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,SAAS,CAAC,CAAC,CAAC;kBACR,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACzF,SAAS,CAAC,CAAC,CAAC;kBACR,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;SACzF;aAAM;YACL,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3F,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;SAC3B;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,QAAQ,CAAC,KAAa,EAAE,IAAY;QAC1C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CAEF;AAnRD,4BAmRC"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nongo-driver",
3
- "version": "2.12.6",
3
+ "version": "3.0.0",
4
4
  "description": "A promise driven, schema lead, mongo driver.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,32 +21,24 @@
21
21
  },
22
22
  "homepage": "https://github.com/builtbycoup/nongo#readme",
23
23
  "dependencies": {
24
- "clone-deep": "^2.0.1",
24
+ "clone-deep": "^4.0.1",
25
25
  "cmd-promise": "^1.2.0",
26
- "deep-equal": "^1.0.1",
27
- "deepmerge": "^2.0.1",
28
- "is-date-object": "^1.0.1",
29
- "minimist": "^1.2.5",
30
- "mkdirp-promise": "^5.0.1",
31
- "mongodb": "^3.5.5",
26
+ "deep-equal": "^2.2.2",
27
+ "is-date-object": "^1.0.5",
28
+ "minimist": "^1.2.8",
29
+ "mongodb": "^5.7.0",
32
30
  "request-promise": "^4.2.6",
33
- "rimraf": "^2.6.2",
34
31
  "tslint": "^5.8.0",
35
- "wbb-logger": "^1.0.0",
36
- "winston": "^3.0.0-rc1"
32
+ "wbb-logger": "^1.0.0"
37
33
  },
38
34
  "devDependencies": {
39
- "@types/jest": "^25.2.1",
40
- "@types/mongodb": "^3.5.5",
41
- "@types/node": "^8.0.53",
42
- "child_process": "^1.0.2",
43
- "jest": "^25.2.7",
44
- "merge-stream": "^1.0.1",
45
- "mongodb-memory-server": "^6.5.2",
46
- "nock": "^13.0.11",
47
- "ts-jest": "^25.3.1",
48
- "ts-node": "^8.8.2",
49
- "typescript": "^3.7.5",
50
- "typescript-eslint-parser": "^9.0.0"
35
+ "@types/jest": "^29.4.0",
36
+ "@types/node": "^20.4.1",
37
+ "jest": "^29.5.0",
38
+ "mongodb-memory-server": "^8.13.0",
39
+ "nock": "^13.3.1",
40
+ "ts-jest": "29.0.5",
41
+ "ts-node": "^10.9.1",
42
+ "typescript": "^4.9.5"
51
43
  }
52
- }
44
+ }
package/src/atlas-api.ts CHANGED
@@ -1,16 +1,12 @@
1
1
  import deepEqual from 'deep-equal';
2
2
  import rp from 'request-promise';
3
3
  import Logger from 'wbb-logger';
4
- import {
5
- Analyzer,
6
- AtlasParams,
7
- AtlasSearchIndex,
8
- CreateSearchIndex,
9
- } from './interface/atlas';
4
+ import {Analyzer, AtlasParams, AtlasSearchIndex, CreateSearchIndex} from './interface/atlas';
10
5
 
11
6
  const logger = new Logger('atlas-api.ts');
12
7
 
13
8
  export default class AtlasApi {
9
+
14
10
  private readonly ftsUrl: string;
15
11
  private readonly defaultOptions;
16
12
 
@@ -38,10 +34,7 @@ export default class AtlasApi {
38
34
  });
39
35
  }
40
36
 
41
- public async getSearchIndexes(
42
- db: string,
43
- collection: string,
44
- ): Promise<AtlasSearchIndex[]> {
37
+ public async getSearchIndexes(db: string, collection: string): Promise<AtlasSearchIndex[]> {
45
38
  const url = `${this.ftsUrl}/indexes/${db}/${collection}`;
46
39
  return rp({
47
40
  ...this.defaultOptions,
@@ -49,11 +42,7 @@ export default class AtlasApi {
49
42
  });
50
43
  }
51
44
 
52
- public async createSearchIndex(
53
- db: string,
54
- collection: string,
55
- index: CreateSearchIndex,
56
- ): Promise<any> {
45
+ public async createSearchIndex(db: string, collection: string, index: CreateSearchIndex): Promise<any> {
57
46
  this.logIndexChange(db, collection, 'Creating', index.name);
58
47
  const url = `${this.ftsUrl}/indexes`;
59
48
  return rp({
@@ -68,11 +57,7 @@ export default class AtlasApi {
68
57
  });
69
58
  }
70
59
 
71
- public async ensureSearchIndexes(
72
- db: string,
73
- collection: string,
74
- createParams: CreateSearchIndex[],
75
- ): Promise<AtlasSearchIndex[]> {
60
+ public async ensureSearchIndexes(db: string, collection: string, createParams: CreateSearchIndex[]): Promise<AtlasSearchIndex[]> {
76
61
  const existingIndexes = await this.getSearchIndexes(db, collection);
77
62
  const toRemove = new Map<string, AtlasSearchIndex>();
78
63
  existingIndexes.forEach((e) => toRemove.set(e.name, e));
@@ -87,6 +72,7 @@ export default class AtlasApi {
87
72
  } else {
88
73
  await this.createSearchIndex(db, collection, cParams);
89
74
  }
75
+
90
76
  }
91
77
 
92
78
  for (const index of toRemove.values()) {
@@ -96,12 +82,7 @@ export default class AtlasApi {
96
82
  return await this.getSearchIndexes(db, collection);
97
83
  }
98
84
 
99
- public async updateSearchIndex(
100
- db: string,
101
- collection: string,
102
- existingIndex: AtlasSearchIndex,
103
- createParams: CreateSearchIndex,
104
- ): Promise<any> {
85
+ public async updateSearchIndex(db: string, collection: string, existingIndex: AtlasSearchIndex, createParams: CreateSearchIndex): Promise<any> {
105
86
  if (deepEqual(existingIndex.mappings, createParams.mappings)) {
106
87
  return;
107
88
  }
@@ -122,11 +103,7 @@ export default class AtlasApi {
122
103
  });
123
104
  }
124
105
 
125
- public async deleteSearchIndex(
126
- db: string,
127
- collection: string,
128
- existingIndex: AtlasSearchIndex,
129
- ): Promise<any> {
106
+ public async deleteSearchIndex(db: string, collection: string, existingIndex: AtlasSearchIndex): Promise<any> {
130
107
  this.logIndexChange(db, collection, 'Deleting', existingIndex.name);
131
108
  const url = `${this.ftsUrl}/indexes/${existingIndex.indexID}`;
132
109
  return rp({
@@ -136,14 +113,8 @@ export default class AtlasApi {
136
113
  });
137
114
  }
138
115
 
139
- private logIndexChange(
140
- db: string,
141
- collection: string,
142
- action: string,
143
- indexName: string,
144
- ) {
145
- logger.info(
146
- `${action} search index "${indexName}" for collection ${db}.${collection}`,
147
- );
116
+ private logIndexChange(db: string, collection: string, action: string, indexName: string) {
117
+ logger.info(`${action} search index "${indexName}" for collection ${db}.${collection}`);
148
118
  }
119
+
149
120
  }
@@ -1,8 +1,6 @@
1
- import {Cursor} from 'mongodb';
2
-
3
1
  export default class CursorIterator<T = any> implements AsyncIterator<T> {
4
2
 
5
- constructor(private cursor: Cursor, private map = (next) => next) {
3
+ constructor(private cursor, private map = (next) => next) {
6
4
  }
7
5
 
8
6
  public [Symbol.asyncIterator] = () => this;
package/src/index.ts CHANGED
@@ -11,4 +11,4 @@ export {default as generateInterfaces} from './generate-interfaces';
11
11
  export {default as NongoMap} from './nongo-map';
12
12
  export * from './interface';
13
13
  export {default as AtlasApi} from './atlas-api';
14
- export {ObjectId, MongoClient} from 'mongodb';
14
+ export {ObjectId, MongoClient, SortDirection, CollectionInfo, Db, DeleteResult, FindOptions, Filter, Document, UpdateFilter, UpdateOptions} from 'mongodb';
@@ -4,14 +4,3 @@ export * from './atlas';
4
4
  * Defines an object that can be created via the 'new' keyword
5
5
  */
6
6
  export type Newable<T = any> = new(...args: any[]) => T;
7
-
8
- export interface NongoWriteResult {
9
- nModified: number;
10
- ok: number;
11
- n: number;
12
- }
13
-
14
- export interface NongoDeleteResult {
15
- ok?: number;
16
- n?: number;
17
- }
package/src/model.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import clone from 'clone-deep';
2
- import cmd from 'cmd-promise';
3
- import {BulkWriteOpResultObject, CollectionBulkWriteOptions, Db, ObjectId} from 'mongodb';
2
+ import {AggregateOptions, AnyBulkWriteOperation, BulkWriteOptions, BulkWriteResult, CountDocumentsOptions, Db, DeleteOptions, DeleteResult, Document, Filter, FindOptions, ObjectId, UpdateFilter, UpdateOptions, UpdateResult} from 'mongodb';
4
3
  import Logger from 'wbb-logger';
5
4
 
6
5
  import CursorIterator from './cursor-iterator';
7
- import {CreateSearchIndex, NongoDeleteResult, NongoWriteResult} from './interface';
6
+ import {CreateSearchIndex} from './interface';
8
7
  import MongoIndex from './mongo-index';
9
8
  import Nongo from './nongo';
10
9
  import Validator from './validator';
@@ -47,18 +46,7 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
47
46
 
48
47
  public async validate() {
49
48
  const schema = this.nongo.schema[this.name];
50
- return await new Validator(schema, this).validate();
51
- }
52
-
53
- public async dumpCollection(dir: string, gzip = false): Promise<void> {
54
- logger.info(`Taking dump of ${this.name}...`);
55
-
56
- const script =
57
- `mkdir -p ${dir};` +
58
- `mongodump --uri "${this.nongo.uri()}" -c ${this.name} ${gzip ? '--gzip' : ''} --out ${dir};`;
59
-
60
- await cmd(script);
61
- logger.info(`Dump written to ${dir}...`);
49
+ return new Validator(schema, this).validate();
62
50
  }
63
51
 
64
52
  public idString(): string {
@@ -160,7 +148,7 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
160
148
  }
161
149
 
162
150
  public async byId(id) {
163
- return await this.findOne({_id: id});
151
+ return this.findOne({_id: id});
164
152
  }
165
153
 
166
154
  /*
@@ -168,7 +156,7 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
168
156
  * @param options: the query options e.g. sorting, limiting results etc.
169
157
  * @return the results of the query as an array of models.
170
158
  */
171
- public async find(query: any = {}, options?: any): Promise<this[]> {
159
+ public async find(query: Filter<Document> = {}, options?: FindOptions<Document>): Promise<this[]> {
172
160
  return this.toArray(await this.findIterator(query, options));
173
161
  }
174
162
 
@@ -177,9 +165,9 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
177
165
  * @param options?: CollectionBulkWriteOptions
178
166
  */
179
167
  public async bulkWrite(
180
- operations: object[],
181
- options?: CollectionBulkWriteOptions,
182
- ): Promise<BulkWriteOpResultObject> {
168
+ operations: AnyBulkWriteOperation<Document>[],
169
+ options?: BulkWriteOptions,
170
+ ): Promise<BulkWriteResult> {
183
171
  return this.db.collection(this.collection).bulkWrite(operations, options);
184
172
  }
185
173
 
@@ -188,9 +176,9 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
188
176
  * @param options: the query options e.g. sorting, limiting results etc.
189
177
  * @return the results of the query as an {@link AsyncIterator}.
190
178
  */
191
- public async findIterator(
192
- query: any = {},
193
- options?: any,
179
+ public async findIterator(
180
+ query: Filter<Document> = {},
181
+ options?: FindOptions<Document>,
194
182
  ): Promise<CursorIterator<this>> {
195
183
  query = this.prepareQuery(query);
196
184
  const cursor = this.db.collection(this.collection).find(query, options);
@@ -205,7 +193,7 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
205
193
  * @param query: A mongo db query.
206
194
  * @return the result of the query as a model.
207
195
  */
208
- public async findOne(query: any = {}): Promise<this> {
196
+ public async findOne(query: Filter<Document> = {}): Promise<this> {
209
197
  query = this.prepareQuery(query);
210
198
  const doc = await this.db.collection(this.collection).findOne(query);
211
199
 
@@ -219,19 +207,18 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
219
207
  return new this.constructor(this.nongo, doc);
220
208
  }
221
209
 
222
- public async remove(query: any): Promise<NongoDeleteResult> {
210
+ public async remove(query: Filter<Document>, options?: DeleteOptions): Promise<DeleteResult> {
223
211
  query = this.prepareQuery(query);
224
- const res = await this.db.collection(this.collection).deleteMany(query);
225
- return res.result;
212
+ return this.db.collection(this.collection).deleteMany(query, options);
226
213
  }
227
214
 
228
- public async aggregate(pipeline: any, options?: any): Promise<any[]> {
229
- return await this.toArray(await this.aggregateIterator(pipeline, options));
215
+ public async aggregate(pipeline: Document[], options?: AggregateOptions): Promise<any[]> {
216
+ return this.toArray(await this.aggregateIterator(pipeline, options));
230
217
  }
231
218
 
232
219
  public async aggregateIterator(
233
- pipeline: any,
234
- options?: any,
220
+ pipeline: Document[],
221
+ options?: AggregateOptions,
235
222
  ): Promise<CursorIterator<any>> {
236
223
  options = options || {};
237
224
  if (options.allowDiskUse == null) {
@@ -244,20 +231,19 @@ export default abstract class Model<T extends {_id?: ObjectId} = any> {
244
231
  return new CursorIterator(cursor);
245
232
  }
246
233
 
247
- public async distinct(field: string) {
248
- return await this.db.collection(this.collection).distinct(field, {});
234
+ public async distinct(field: string, filter: Filter<Document> = {}) {
235
+ return this.db.collection(this.collection).distinct(field, filter);
249
236
  }
250
237
 
251
- public async update(query: any, updates: any): Promise<NongoWriteResult> {
238
+ public async update(query: Filter<Document>, updates: UpdateFilter<Document>, options?: UpdateOptions): Promise<UpdateResult<Document>> {
252
239
  query = this.prepareQuery(query);
253
- const res = await this.db
240
+ return this.db
254
241
  .collection(this.collection)
255
- .updateMany(query, updates);
256
- return res.result;
242
+ .updateMany(query, updates, options);
257
243
  }
258
244
 
259
- public async count(query = {}): Promise<number> {
260
- return await this.db.collection(this.collection).countDocuments(query);
245
+ public async count(query: Document = {}, options?: CountDocumentsOptions): Promise<number> {
246
+ return this.db.collection(this.collection).countDocuments(query, options);
261
247
  }
262
248
 
263
249
  /*
@@ -1,5 +1,3 @@
1
- import {IndexOptions} from 'mongodb';
2
-
3
1
  /**
4
2
  * Very basic model used to hold information on a mongo index.
5
3
  */
@@ -13,7 +11,7 @@ export default class MongoIndex {
13
11
  * @param options IndexOptions - options for the index these match the options defined here:
14
12
  * https://mongodb.github.io/node-mongodb-native/api-generated/collection.html#ensureindex
15
13
  */
16
- constructor(index: {[key: string]: 1 | -1 | 'text'}, public readonly options: IndexOptions = {}, validateName = true) {
14
+ constructor(index: {[key: string]: 1 | -1 | 'text'}, public readonly options: any = {}, validateName = true) {
17
15
  // Delete any keys from options that have an undefined value. We do this to standardise the options so they can
18
16
  // easily be compared
19
17
  for (const key of Object.keys(options)) {
package/src/nongo.ts CHANGED
@@ -60,11 +60,7 @@ export default class Nongo {
60
60
 
61
61
  public async connect() {
62
62
  // Connect to the database
63
- this.mongoClient = this.mongoClient ?? await MongoClient.connect(this.uri(), {
64
- useNewUrlParser: true,
65
- useUnifiedTopology: true,
66
- poolSize: this.poolSize,
67
- });
63
+ this.mongoClient = this.mongoClient ?? await new MongoClient(this.uri(), {minPoolSize: this.poolSize}).connect();
68
64
  this.db = this.mongoClient.db(this.params.db);
69
65
  this.dbName = this.params.db;
70
66