nongo-driver 2.12.4 → 2.12.5
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/atlas-api.js +1 -1
- package/dist/atlas-api.js.map +1 -1
- package/package.json +1 -1
- package/src/atlas-api.ts +41 -12
- package/test/models/dummy-model-changed-obj.ts +0 -12
- package/test/models/dummy-model-obj.ts +0 -40
- package/test/models/dummy-model-with-max-index-obj.ts +0 -195
- package/test/models/text-index-model-modified-obj.ts +0 -12
- package/test/models/text-index-model-obj.ts +0 -11
- package/test/models/text-index-model-too-long-obj.ts +0 -11
- package/test.ts +0 -36
package/dist/atlas-api.js
CHANGED
|
@@ -19,7 +19,7 @@ class AtlasApi {
|
|
|
19
19
|
},
|
|
20
20
|
json: true,
|
|
21
21
|
};
|
|
22
|
-
this.ftsUrl = `${baseUrl}/groups/${groupId}/clusters/${clusterName}/fts`;
|
|
22
|
+
this.ftsUrl = `${baseUrl}/groups/${groupId}/clusters/${clusterName}/fts/indexes`;
|
|
23
23
|
}
|
|
24
24
|
async putCustomAnalyzers(analyzers) {
|
|
25
25
|
const url = `${this.ftsUrl}/analyzers`;
|
package/dist/atlas-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atlas-api.js","sourceRoot":"","sources":["../src/atlas-api.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,sEAAiC;AACjC,4DAAgC;
|
|
1
|
+
{"version":3,"file":"atlas-api.js","sourceRoot":"","sources":["../src/atlas-api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/atlas-api.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import deepEqual from 'deep-equal';
|
|
2
2
|
import rp from 'request-promise';
|
|
3
3
|
import Logger from 'wbb-logger';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Analyzer,
|
|
6
|
+
AtlasParams,
|
|
7
|
+
AtlasSearchIndex,
|
|
8
|
+
CreateSearchIndex,
|
|
9
|
+
} from './interface/atlas';
|
|
5
10
|
|
|
6
11
|
const logger = new Logger('atlas-api.ts');
|
|
7
12
|
|
|
8
13
|
export default class AtlasApi {
|
|
9
|
-
|
|
10
14
|
private readonly ftsUrl: string;
|
|
11
15
|
private readonly defaultOptions;
|
|
12
16
|
|
|
@@ -22,7 +26,7 @@ export default class AtlasApi {
|
|
|
22
26
|
json: true,
|
|
23
27
|
};
|
|
24
28
|
|
|
25
|
-
this.ftsUrl = `${baseUrl}/groups/${groupId}/clusters/${clusterName}/fts`;
|
|
29
|
+
this.ftsUrl = `${baseUrl}/groups/${groupId}/clusters/${clusterName}/fts/indexes`;
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
public async putCustomAnalyzers(analyzers: Analyzer[]): Promise<Analyzer[]> {
|
|
@@ -34,7 +38,10 @@ export default class AtlasApi {
|
|
|
34
38
|
});
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
public async getSearchIndexes(
|
|
41
|
+
public async getSearchIndexes(
|
|
42
|
+
db: string,
|
|
43
|
+
collection: string,
|
|
44
|
+
): Promise<AtlasSearchIndex[]> {
|
|
38
45
|
const url = `${this.ftsUrl}/indexes/${db}/${collection}`;
|
|
39
46
|
return rp({
|
|
40
47
|
...this.defaultOptions,
|
|
@@ -42,7 +49,11 @@ export default class AtlasApi {
|
|
|
42
49
|
});
|
|
43
50
|
}
|
|
44
51
|
|
|
45
|
-
public async createSearchIndex(
|
|
52
|
+
public async createSearchIndex(
|
|
53
|
+
db: string,
|
|
54
|
+
collection: string,
|
|
55
|
+
index: CreateSearchIndex,
|
|
56
|
+
): Promise<any> {
|
|
46
57
|
this.logIndexChange(db, collection, 'Creating', index.name);
|
|
47
58
|
const url = `${this.ftsUrl}/indexes`;
|
|
48
59
|
return rp({
|
|
@@ -57,7 +68,11 @@ export default class AtlasApi {
|
|
|
57
68
|
});
|
|
58
69
|
}
|
|
59
70
|
|
|
60
|
-
public async ensureSearchIndexes(
|
|
71
|
+
public async ensureSearchIndexes(
|
|
72
|
+
db: string,
|
|
73
|
+
collection: string,
|
|
74
|
+
createParams: CreateSearchIndex[],
|
|
75
|
+
): Promise<AtlasSearchIndex[]> {
|
|
61
76
|
const existingIndexes = await this.getSearchIndexes(db, collection);
|
|
62
77
|
const toRemove = new Map<string, AtlasSearchIndex>();
|
|
63
78
|
existingIndexes.forEach((e) => toRemove.set(e.name, e));
|
|
@@ -72,7 +87,6 @@ export default class AtlasApi {
|
|
|
72
87
|
} else {
|
|
73
88
|
await this.createSearchIndex(db, collection, cParams);
|
|
74
89
|
}
|
|
75
|
-
|
|
76
90
|
}
|
|
77
91
|
|
|
78
92
|
for (const index of toRemove.values()) {
|
|
@@ -82,7 +96,12 @@ export default class AtlasApi {
|
|
|
82
96
|
return await this.getSearchIndexes(db, collection);
|
|
83
97
|
}
|
|
84
98
|
|
|
85
|
-
public async updateSearchIndex(
|
|
99
|
+
public async updateSearchIndex(
|
|
100
|
+
db: string,
|
|
101
|
+
collection: string,
|
|
102
|
+
existingIndex: AtlasSearchIndex,
|
|
103
|
+
createParams: CreateSearchIndex,
|
|
104
|
+
): Promise<any> {
|
|
86
105
|
if (deepEqual(existingIndex.mappings, createParams.mappings)) {
|
|
87
106
|
return;
|
|
88
107
|
}
|
|
@@ -103,7 +122,11 @@ export default class AtlasApi {
|
|
|
103
122
|
});
|
|
104
123
|
}
|
|
105
124
|
|
|
106
|
-
public async deleteSearchIndex(
|
|
125
|
+
public async deleteSearchIndex(
|
|
126
|
+
db: string,
|
|
127
|
+
collection: string,
|
|
128
|
+
existingIndex: AtlasSearchIndex,
|
|
129
|
+
): Promise<any> {
|
|
107
130
|
this.logIndexChange(db, collection, 'Deleting', existingIndex.name);
|
|
108
131
|
const url = `${this.ftsUrl}/indexes/${existingIndex.indexID}`;
|
|
109
132
|
return rp({
|
|
@@ -113,8 +136,14 @@ export default class AtlasApi {
|
|
|
113
136
|
});
|
|
114
137
|
}
|
|
115
138
|
|
|
116
|
-
private logIndexChange(
|
|
117
|
-
|
|
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
|
+
);
|
|
118
148
|
}
|
|
119
|
-
|
|
120
149
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
-
export default interface DummyModelChangedObj {
|
|
3
|
-
'name': string;
|
|
4
|
-
'pets': Array<{
|
|
5
|
-
'species'?: string;
|
|
6
|
-
'likes'?: {
|
|
7
|
-
'food'?: string[];
|
|
8
|
-
'drink'?: string[];
|
|
9
|
-
};
|
|
10
|
-
}>;
|
|
11
|
-
'_id'?: any;
|
|
12
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
-
export default interface DummyModelObj {
|
|
3
|
-
'dontStripChildren'?: any;
|
|
4
|
-
'dontStripChildren2'?: any;
|
|
5
|
-
'exampleMap'?: {[key: string]: {
|
|
6
|
-
'mapValueField': string;
|
|
7
|
-
}};
|
|
8
|
-
'created'?: Date;
|
|
9
|
-
'arrayOfObject'?: object[];
|
|
10
|
-
'name': string;
|
|
11
|
-
'age': number;
|
|
12
|
-
'pets': Array<{
|
|
13
|
-
'species'?: string;
|
|
14
|
-
'likes'?: {
|
|
15
|
-
'food'?: string[];
|
|
16
|
-
'drink'?: string[];
|
|
17
|
-
};
|
|
18
|
-
}>;
|
|
19
|
-
'job': {
|
|
20
|
-
'role': string;
|
|
21
|
-
'at'?: string;
|
|
22
|
-
};
|
|
23
|
-
'location'?: {
|
|
24
|
-
'address1'?: string;
|
|
25
|
-
};
|
|
26
|
-
'autoInit': {
|
|
27
|
-
'initArray': Array<{
|
|
28
|
-
'nestedObj': any;
|
|
29
|
-
}>;
|
|
30
|
-
'initNestedObj'?: {
|
|
31
|
-
'hello'?: string;
|
|
32
|
-
};
|
|
33
|
-
'initNestedNative'?: any;
|
|
34
|
-
};
|
|
35
|
-
'notEmptyFields'?: {
|
|
36
|
-
'aString': string;
|
|
37
|
-
'anArray': string[];
|
|
38
|
-
};
|
|
39
|
-
'_id'?: any;
|
|
40
|
-
}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
-
export default interface DummyModelWithMaxIndexObj {
|
|
3
|
-
'clients'?: {
|
|
4
|
-
'client1'?: {
|
|
5
|
-
'favouritePet'?: string;
|
|
6
|
-
};
|
|
7
|
-
'client2'?: {
|
|
8
|
-
'favouritePet'?: string;
|
|
9
|
-
};
|
|
10
|
-
'client3'?: {
|
|
11
|
-
'favouritePet'?: string;
|
|
12
|
-
};
|
|
13
|
-
'client4'?: {
|
|
14
|
-
'favouritePet'?: string;
|
|
15
|
-
};
|
|
16
|
-
'client5'?: {
|
|
17
|
-
'favouritePet'?: string;
|
|
18
|
-
};
|
|
19
|
-
'client6'?: {
|
|
20
|
-
'favouritePet'?: string;
|
|
21
|
-
};
|
|
22
|
-
'client7'?: {
|
|
23
|
-
'favouritePet'?: string;
|
|
24
|
-
};
|
|
25
|
-
'client8'?: {
|
|
26
|
-
'favouritePet'?: string;
|
|
27
|
-
};
|
|
28
|
-
'client9'?: {
|
|
29
|
-
'favouritePet'?: string;
|
|
30
|
-
};
|
|
31
|
-
'client10'?: {
|
|
32
|
-
'favouritePet'?: string;
|
|
33
|
-
};
|
|
34
|
-
'client11'?: {
|
|
35
|
-
'favouritePet'?: string;
|
|
36
|
-
};
|
|
37
|
-
'client12'?: {
|
|
38
|
-
'favouritePet'?: string;
|
|
39
|
-
};
|
|
40
|
-
'client13'?: {
|
|
41
|
-
'favouritePet'?: string;
|
|
42
|
-
};
|
|
43
|
-
'client14'?: {
|
|
44
|
-
'favouritePet'?: string;
|
|
45
|
-
};
|
|
46
|
-
'client15'?: {
|
|
47
|
-
'favouritePet'?: string;
|
|
48
|
-
};
|
|
49
|
-
'client16'?: {
|
|
50
|
-
'favouritePet'?: string;
|
|
51
|
-
};
|
|
52
|
-
'client17'?: {
|
|
53
|
-
'favouritePet'?: string;
|
|
54
|
-
};
|
|
55
|
-
'client18'?: {
|
|
56
|
-
'favouritePet'?: string;
|
|
57
|
-
};
|
|
58
|
-
'client19'?: {
|
|
59
|
-
'favouritePet'?: string;
|
|
60
|
-
};
|
|
61
|
-
'client20'?: {
|
|
62
|
-
'favouritePet'?: string;
|
|
63
|
-
};
|
|
64
|
-
'client21'?: {
|
|
65
|
-
'favouritePet'?: string;
|
|
66
|
-
};
|
|
67
|
-
'client22'?: {
|
|
68
|
-
'favouritePet'?: string;
|
|
69
|
-
};
|
|
70
|
-
'client23'?: {
|
|
71
|
-
'favouritePet'?: string;
|
|
72
|
-
};
|
|
73
|
-
'client24'?: {
|
|
74
|
-
'favouritePet'?: string;
|
|
75
|
-
};
|
|
76
|
-
'client25'?: {
|
|
77
|
-
'favouritePet'?: string;
|
|
78
|
-
};
|
|
79
|
-
'client26'?: {
|
|
80
|
-
'favouritePet'?: string;
|
|
81
|
-
};
|
|
82
|
-
'client27'?: {
|
|
83
|
-
'favouritePet'?: string;
|
|
84
|
-
};
|
|
85
|
-
'client28'?: {
|
|
86
|
-
'favouritePet'?: string;
|
|
87
|
-
};
|
|
88
|
-
'client29'?: {
|
|
89
|
-
'favouritePet'?: string;
|
|
90
|
-
};
|
|
91
|
-
'client30'?: {
|
|
92
|
-
'favouritePet'?: string;
|
|
93
|
-
};
|
|
94
|
-
'client31'?: {
|
|
95
|
-
'favouritePet'?: string;
|
|
96
|
-
};
|
|
97
|
-
'client32'?: {
|
|
98
|
-
'favouritePet'?: string;
|
|
99
|
-
};
|
|
100
|
-
'client33'?: {
|
|
101
|
-
'favouritePet'?: string;
|
|
102
|
-
};
|
|
103
|
-
'client34'?: {
|
|
104
|
-
'favouritePet'?: string;
|
|
105
|
-
};
|
|
106
|
-
'client35'?: {
|
|
107
|
-
'favouritePet'?: string;
|
|
108
|
-
};
|
|
109
|
-
'client36'?: {
|
|
110
|
-
'favouritePet'?: string;
|
|
111
|
-
};
|
|
112
|
-
'client37'?: {
|
|
113
|
-
'favouritePet'?: string;
|
|
114
|
-
};
|
|
115
|
-
'client38'?: {
|
|
116
|
-
'favouritePet'?: string;
|
|
117
|
-
};
|
|
118
|
-
'client39'?: {
|
|
119
|
-
'favouritePet'?: string;
|
|
120
|
-
};
|
|
121
|
-
'client40'?: {
|
|
122
|
-
'favouritePet'?: string;
|
|
123
|
-
};
|
|
124
|
-
'client41'?: {
|
|
125
|
-
'favouritePet'?: string;
|
|
126
|
-
};
|
|
127
|
-
'client42'?: {
|
|
128
|
-
'favouritePet'?: string;
|
|
129
|
-
};
|
|
130
|
-
'client43'?: {
|
|
131
|
-
'favouritePet'?: string;
|
|
132
|
-
};
|
|
133
|
-
'client44'?: {
|
|
134
|
-
'favouritePet'?: string;
|
|
135
|
-
};
|
|
136
|
-
'client45'?: {
|
|
137
|
-
'favouritePet'?: string;
|
|
138
|
-
};
|
|
139
|
-
'client46'?: {
|
|
140
|
-
'favouritePet'?: string;
|
|
141
|
-
};
|
|
142
|
-
'client47'?: {
|
|
143
|
-
'favouritePet'?: string;
|
|
144
|
-
};
|
|
145
|
-
'client48'?: {
|
|
146
|
-
'favouritePet'?: string;
|
|
147
|
-
};
|
|
148
|
-
'client49'?: {
|
|
149
|
-
'favouritePet'?: string;
|
|
150
|
-
};
|
|
151
|
-
'client50'?: {
|
|
152
|
-
'favouritePet'?: string;
|
|
153
|
-
};
|
|
154
|
-
'client51'?: {
|
|
155
|
-
'favouritePet'?: string;
|
|
156
|
-
};
|
|
157
|
-
'client52'?: {
|
|
158
|
-
'favouritePet'?: string;
|
|
159
|
-
};
|
|
160
|
-
'client53'?: {
|
|
161
|
-
'favouritePet'?: string;
|
|
162
|
-
};
|
|
163
|
-
'client54'?: {
|
|
164
|
-
'favouritePet'?: string;
|
|
165
|
-
};
|
|
166
|
-
'client55'?: {
|
|
167
|
-
'favouritePet'?: string;
|
|
168
|
-
};
|
|
169
|
-
'client56'?: {
|
|
170
|
-
'favouritePet'?: string;
|
|
171
|
-
};
|
|
172
|
-
'client57'?: {
|
|
173
|
-
'favouritePet'?: string;
|
|
174
|
-
};
|
|
175
|
-
'client58'?: {
|
|
176
|
-
'favouritePet'?: string;
|
|
177
|
-
};
|
|
178
|
-
'client59'?: {
|
|
179
|
-
'favouritePet'?: string;
|
|
180
|
-
};
|
|
181
|
-
'client60'?: {
|
|
182
|
-
'favouritePet'?: string;
|
|
183
|
-
};
|
|
184
|
-
'client61'?: {
|
|
185
|
-
'favouritePet'?: string;
|
|
186
|
-
};
|
|
187
|
-
'client62'?: {
|
|
188
|
-
'favouritePet'?: string;
|
|
189
|
-
};
|
|
190
|
-
'client63'?: {
|
|
191
|
-
'favouritePet'?: string;
|
|
192
|
-
};
|
|
193
|
-
};
|
|
194
|
-
'_id'?: any;
|
|
195
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
-
export default interface TextIndexModelModifiedObj {
|
|
3
|
-
'name'?: string;
|
|
4
|
-
'module'?: string;
|
|
5
|
-
'description'?: {
|
|
6
|
-
'en'?: string;
|
|
7
|
-
'cy'?: string;
|
|
8
|
-
'es'?: string;
|
|
9
|
-
};
|
|
10
|
-
'summary'?: string;
|
|
11
|
-
'_id'?: any;
|
|
12
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
-
export default interface TextIndexModelTooLongObj {
|
|
3
|
-
'name'?: string;
|
|
4
|
-
'module'?: string;
|
|
5
|
-
'description'?: {
|
|
6
|
-
'en'?: string;
|
|
7
|
-
'cy'?: string;
|
|
8
|
-
};
|
|
9
|
-
'summary'?: string;
|
|
10
|
-
'_id'?: any;
|
|
11
|
-
}
|
package/test.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {Collection, Db, MongoClient, ObjectId} from 'mongodb';
|
|
2
|
-
const uri = "mongodb://webuildbots:KQsK7wTL9v1aqj51@wbb-stuart-shard-00-00.eqwda.mongodb.net:27017,wbb-stuart-shard-00-01.eqwda.mongodb.net:27017,wbb-stuart-shard-00-02.eqwda.mongodb.net:27017/myFirstDatabase?ssl=true&replicaSet=atlas-13uf4s-shard-0&authSource=admin&retryWrites=true&w=majority"
|
|
3
|
-
|
|
4
|
-
const test = async () => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
console.time("client connection");
|
|
8
|
-
|
|
9
|
-
let client;
|
|
10
|
-
|
|
11
|
-
for (let i = 0; i < 100; i++) {
|
|
12
|
-
// Connect to the database
|
|
13
|
-
client = await MongoClient.connect(uri, {
|
|
14
|
-
useNewUrlParser: true,
|
|
15
|
-
useUnifiedTopology: true,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
console.timeEnd("client connection");
|
|
20
|
-
|
|
21
|
-
console.time("db swapping")
|
|
22
|
-
let flipper = true;
|
|
23
|
-
for (let i = 0; i < 100; i++) {
|
|
24
|
-
const dbName = flipper ? "monmouth-county-council" : "bridgend"
|
|
25
|
-
flipper = !flipper;
|
|
26
|
-
const db = client.db(dbName);
|
|
27
|
-
console.log("bad col")
|
|
28
|
-
console.log(db.collection("Not existi"))
|
|
29
|
-
}
|
|
30
|
-
console.timeEnd("db swapping")
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
test().catch((err) => console.log(err))
|