nongo-driver 3.3.6 → 3.3.7

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.
package/dist/nongo.d.ts CHANGED
@@ -25,6 +25,7 @@ export default class Nongo {
25
25
  constructor(params: NongoParams, modelClasses: Newable[], schemaParsers?: SchemaParser[], mongoClient?: MongoClient, poolSize?: number);
26
26
  connect(): Promise<this>;
27
27
  ensureIndexes(): Promise<void>;
28
+ private dropCollection;
28
29
  dropDatabase(): Promise<void>;
29
30
  /**
30
31
  * Remove all documents in the database
package/dist/nongo.js CHANGED
@@ -67,7 +67,10 @@ class Nongo {
67
67
  async connect() {
68
68
  var _a;
69
69
  // Connect to the database
70
- this.mongoClient = (_a = this.mongoClient) !== null && _a !== void 0 ? _a : await new mongodb_1.MongoClient(this.uri(), { minPoolSize: this.poolSize }).connect();
70
+ this.mongoClient =
71
+ (_a = this.mongoClient) !== null && _a !== void 0 ? _a : (await new mongodb_1.MongoClient(this.uri(), {
72
+ minPoolSize: this.poolSize,
73
+ }).connect());
71
74
  this.db = this.mongoClient.db(this.params.db);
72
75
  this.dbName = this.params.db;
73
76
  // Map the classes to instances
@@ -114,7 +117,9 @@ class Nongo {
114
117
  return this;
115
118
  }
116
119
  async ensureIndexes() {
120
+ // collections in Mongo
117
121
  const collectionNames = await this.getCollectionNames();
122
+ const indexedCollections = [];
118
123
  // Iterate over each of the model instances we have so we can ensure their indexes
119
124
  for (let i = 0; i < this.instances.length; i++) {
120
125
  const instance = this.instances[i];
@@ -137,8 +142,23 @@ class Nongo {
137
142
  if (atlasEnabled && searchIndexes.length) {
138
143
  await new atlas_api_1.default(atlasParams).ensureSearchIndexes(this.dbName, instance.name, searchIndexes);
139
144
  }
145
+ // If the instance we've just indexed has a revision,
146
+ // add to list, so we don't drop it
147
+ indexedCollections.push(collName);
148
+ const revision = instance.getCollectionRevision();
149
+ if (revision) {
150
+ indexedCollections.push(revision);
151
+ }
152
+ }
153
+ const dropCollections = collectionNames.filter((c) => !indexedCollections.includes(c));
154
+ for (const coll of dropCollections) {
155
+ logger.info(`Dropping ${this.dbName}.${coll}`);
156
+ await this.dropCollection(coll);
140
157
  }
141
158
  }
159
+ async dropCollection(collName) {
160
+ await this.db.dropCollection(collName);
161
+ }
142
162
  async dropDatabase() {
143
163
  await this.db.dropDatabase();
144
164
  }
@@ -205,7 +225,7 @@ class Nongo {
205
225
  return url;
206
226
  }
207
227
  async getCollectionNames() {
208
- const collections = await (this.db.listCollections().toArray());
228
+ const collections = await this.db.listCollections().toArray();
209
229
  return collections.map((col) => col.name);
210
230
  }
211
231
  async ensureCollectionIndexes(schema, collName, explicitIndexes, collectionNames) {
@@ -334,6 +354,6 @@ class Nongo {
334
354
  }
335
355
  }
336
356
  exports.default = Nongo;
337
- Nongo.REVISION = "Revision";
338
- Nongo.ENVIRONMENT_MAPPING = "EnvironmentMapping";
357
+ Nongo.REVISION = 'Revision';
358
+ Nongo.ENVIRONMENT_MAPPING = 'EnvironmentMapping';
339
359
  //# sourceMappingURL=nongo.js.map
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nongo-driver",
3
- "version": "3.3.6",
3
+ "version": "3.3.7",
4
4
  "description": "A promise driven, schema lead, mongo driver.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/nongo.ts CHANGED
@@ -4,7 +4,7 @@ import Logger from 'wbb-logger';
4
4
  import incVersion from 'semver/functions/inc';
5
5
  import AtlasApi from './atlas-api';
6
6
  import {Newable} from './interface';
7
- import Model, { RevisionHistory } from './model';
7
+ import Model, {RevisionHistory} from './model';
8
8
  import MongoIndex from './mongo-index';
9
9
  import MongoIndexSet from './mongo-index-set';
10
10
  import NongoParams from './nongo-params';
@@ -42,13 +42,11 @@ export default class Nongo {
42
42
  } else {
43
43
  // we don't want to mutate the original array
44
44
  const array = [...model.history];
45
- array.push(
46
- {
47
- id: revisionId.toString(),
48
- revision: model.revision,
49
- created: new Date(),
50
- }
51
- )
45
+ array.push({
46
+ id: revisionId.toString(),
47
+ revision: model.revision,
48
+ created: new Date(),
49
+ });
52
50
  return array;
53
51
  }
54
52
  }
@@ -58,8 +56,8 @@ export default class Nongo {
58
56
  public noStripKeys: any = {};
59
57
  public db: Db;
60
58
  public dbName: string;
61
- public static REVISION = "Revision";
62
- public static ENVIRONMENT_MAPPING = "EnvironmentMapping";
59
+ public static REVISION = 'Revision';
60
+ public static ENVIRONMENT_MAPPING = 'EnvironmentMapping';
63
61
 
64
62
  // Parallel to {@code this.modelClasses} and {@code this.schemaParsers}
65
63
  private instances: Model[];
@@ -82,12 +80,15 @@ export default class Nongo {
82
80
  public schemaParsers?: SchemaParser[],
83
81
  public mongoClient?: MongoClient,
84
82
  private readonly poolSize?: number,
85
- ) {
86
- }
83
+ ) {}
87
84
 
88
85
  public async connect() {
89
86
  // Connect to the database
90
- this.mongoClient = this.mongoClient ?? await new MongoClient(this.uri(), {minPoolSize: this.poolSize}).connect();
87
+ this.mongoClient =
88
+ this.mongoClient ??
89
+ (await new MongoClient(this.uri(), {
90
+ minPoolSize: this.poolSize,
91
+ }).connect());
91
92
  this.db = this.mongoClient.db(this.params.db);
92
93
  this.dbName = this.params.db;
93
94
 
@@ -146,9 +147,9 @@ export default class Nongo {
146
147
  }
147
148
 
148
149
  public async ensureIndexes(): Promise<void> {
149
-
150
+ // collections in Mongo
150
151
  const collectionNames = await this.getCollectionNames();
151
-
152
+ const indexedCollections: string[] = [];
152
153
  // Iterate over each of the model instances we have so we can ensure their indexes
153
154
  for (let i = 0; i < this.instances.length; i++) {
154
155
  const instance = this.instances[i];
@@ -159,7 +160,12 @@ export default class Nongo {
159
160
  const explicitIndexes = instance.getMongoIndexes();
160
161
  const collName = instance.collection;
161
162
  try {
162
- await this.ensureCollectionIndexes(schema, collName, explicitIndexes, collectionNames);
163
+ await this.ensureCollectionIndexes(
164
+ schema,
165
+ collName,
166
+ explicitIndexes,
167
+ collectionNames,
168
+ );
163
169
  } catch (err) {
164
170
  logger.error(`Failed to ensure indexes for ${collName}`);
165
171
  logger.error(err);
@@ -170,12 +176,34 @@ export default class Nongo {
170
176
  const atlasParams = this.params.atlas;
171
177
  const atlasEnabled = atlasParams && !atlasParams.disabled;
172
178
  if (atlasEnabled && searchIndexes.length) {
173
- await new AtlasApi(atlasParams).ensureSearchIndexes(this.dbName, instance.name, searchIndexes);
179
+ await new AtlasApi(atlasParams).ensureSearchIndexes(
180
+ this.dbName,
181
+ instance.name,
182
+ searchIndexes,
183
+ );
184
+ }
185
+ // If the instance we've just indexed has a revision,
186
+ // add to list, so we don't drop it
187
+ indexedCollections.push(collName);
188
+ const revision = instance.getCollectionRevision();
189
+ if (revision) {
190
+ indexedCollections.push(revision);
174
191
  }
192
+ }
175
193
 
194
+ const dropCollections = collectionNames.filter(
195
+ (c) => !indexedCollections.includes(c),
196
+ );
197
+ for (const coll of dropCollections) {
198
+ logger.info(`Dropping ${this.dbName}.${coll}`);
199
+ await this.dropCollection(coll);
176
200
  }
177
201
  }
178
202
 
203
+ private async dropCollection(collName) {
204
+ await this.db.dropCollection(collName);
205
+ }
206
+
179
207
  public async dropDatabase() {
180
208
  await this.db.dropDatabase();
181
209
  }
@@ -258,7 +286,7 @@ export default class Nongo {
258
286
  }
259
287
 
260
288
  private async getCollectionNames(): Promise<string[]> {
261
- const collections = await (this.db.listCollections().toArray());
289
+ const collections = await this.db.listCollections().toArray();
262
290
  return collections.map((col) => col.name);
263
291
  }
264
292
 
@@ -271,7 +299,10 @@ export default class Nongo {
271
299
  const context = this.dbName + '.' + collName;
272
300
 
273
301
  // Get the existing set of indexes, we will remove the ones we want to keep
274
- const existingIndexes = await this.existingIndexes(collName, collectionNames);
302
+ const existingIndexes = await this.existingIndexes(
303
+ collName,
304
+ collectionNames,
305
+ );
275
306
 
276
307
  // Ensure all the required indexes have been applied
277
308
  const indexSet = await this.getSchemaIndexes(schema);