@orion-js/mongodb 3.2.20 → 3.2.28

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.
@@ -8,13 +8,28 @@ const mongodb_1 = require("mongodb");
8
8
  const connections_1 = require("./connections");
9
9
  const getDBName_1 = __importDefault(require("./getDBName"));
10
10
  const getMongoURLFromEnv_1 = require("./getMongoURLFromEnv");
11
+ const logger_1 = require("@orion-js/logger");
12
+ const helpers_1 = require("@orion-js/helpers");
11
13
  exports.allConnectionPromises = [];
14
+ async function connect(client) {
15
+ try {
16
+ const result = await client.connect();
17
+ return result;
18
+ }
19
+ catch (error) {
20
+ logger_1.logger.error(`Error connecting to mongo: ${error.message}. Will retry in 5s`, error);
21
+ await (0, helpers_1.sleep)(5000);
22
+ return connect(client);
23
+ }
24
+ }
12
25
  const getMongoConnection = ({ name, uri }) => {
13
26
  uri = uri || (0, getMongoURLFromEnv_1.getMongoURLFromEnv)(name);
14
27
  if (connections_1.connections[name])
15
28
  return connections_1.connections[name];
16
- const client = new mongodb_1.MongoClient(uri);
17
- const connectionPromise = client.connect();
29
+ const client = new mongodb_1.MongoClient(uri, {
30
+ retryReads: true
31
+ });
32
+ const connectionPromise = connect(client);
18
33
  exports.allConnectionPromises.push(connectionPromise);
19
34
  const dbName = (0, getDBName_1.default)(uri);
20
35
  const db = client.db(dbName);
@@ -142,6 +142,9 @@ export interface Collection<ModelClass = any> {
142
142
  updateMany: UpdateMany<ModelClass>;
143
143
  upsert: Upsert<ModelClass>;
144
144
  findOneAndUpdate: FindOneAndUpdate<ModelClass>;
145
+ /**
146
+ * Updates a document and returns the updated document with the changes
147
+ */
145
148
  updateAndFind: UpdateAndFind<ModelClass>;
146
149
  updateItem: UpdateItem<ModelClass>;
147
150
  estimatedDocumentCount: EstimatedDocumentCount<ModelClass>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orion-js/mongodb",
3
- "version": "3.2.20",
3
+ "version": "3.2.28",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "files": [
@@ -17,13 +17,14 @@
17
17
  "upgrade-interactive": "yarn upgrade-interactive"
18
18
  },
19
19
  "dependencies": {
20
- "@orion-js/env": "^3.2.19",
21
- "@orion-js/helpers": "^3.2.0",
22
- "@orion-js/models": "^3.2.18",
23
- "@orion-js/resolvers": "^3.2.18",
24
- "@orion-js/schema": "^3.2.18",
25
- "@orion-js/services": "^3.2.10",
26
- "@orion-js/typed-model": "^3.2.18",
20
+ "@orion-js/env": "^3.2.21",
21
+ "@orion-js/helpers": "^3.2.21",
22
+ "@orion-js/logger": "^3.2.21",
23
+ "@orion-js/models": "^3.2.28",
24
+ "@orion-js/resolvers": "^3.2.28",
25
+ "@orion-js/schema": "^3.2.28",
26
+ "@orion-js/services": "^3.2.21",
27
+ "@orion-js/typed-model": "^3.2.28",
27
28
  "dataloader": "2.1.0",
28
29
  "dot-object": "2.1.4",
29
30
  "mongodb": "4.5.0"
@@ -40,5 +41,5 @@
40
41
  "publishConfig": {
41
42
  "access": "public"
42
43
  },
43
- "gitHead": "4c4e24615699c336f041a4ff832ffb591e4a0537"
44
+ "gitHead": "670440985bbd077e154e5d225337bbf242701f5a"
44
45
  }