@procedures/mongo 0.2.3 → 0.3.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 (53) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +74 -3
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/index.d.ts +2 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/module.d.ts.map +1 -1
  8. package/dist/module.js +9 -0
  9. package/dist/module.js.map +1 -1
  10. package/dist/procedures/documents.aggregate.d.ts +5 -0
  11. package/dist/procedures/documents.aggregate.d.ts.map +1 -1
  12. package/dist/procedures/documents.aggregate.js +36 -3
  13. package/dist/procedures/documents.aggregate.js.map +1 -1
  14. package/dist/procedures/documents.bulk.d.ts +42 -0
  15. package/dist/procedures/documents.bulk.d.ts.map +1 -0
  16. package/dist/procedures/documents.bulk.js +159 -0
  17. package/dist/procedures/documents.bulk.js.map +1 -0
  18. package/dist/procedures/documents.distinct.d.ts +22 -0
  19. package/dist/procedures/documents.distinct.d.ts.map +1 -0
  20. package/dist/procedures/documents.distinct.js +33 -0
  21. package/dist/procedures/documents.distinct.js.map +1 -0
  22. package/dist/procedures/documents.explain.d.ts +41 -0
  23. package/dist/procedures/documents.explain.d.ts.map +1 -0
  24. package/dist/procedures/documents.explain.js +111 -0
  25. package/dist/procedures/documents.explain.js.map +1 -0
  26. package/dist/procedures/index.d.ts +4 -0
  27. package/dist/procedures/index.d.ts.map +1 -1
  28. package/dist/procedures/index.js +5 -0
  29. package/dist/procedures/index.js.map +1 -1
  30. package/dist/procedures/watch.d.ts +59 -0
  31. package/dist/procedures/watch.d.ts.map +1 -0
  32. package/dist/procedures/watch.js +149 -0
  33. package/dist/procedures/watch.js.map +1 -0
  34. package/dist/procedures.types.d.ts +24 -3
  35. package/dist/procedures.types.d.ts.map +1 -1
  36. package/dist/storage/mongo-storage.d.ts +1 -0
  37. package/dist/storage/mongo-storage.d.ts.map +1 -1
  38. package/dist/storage/mongo-storage.js +4 -0
  39. package/dist/storage/mongo-storage.js.map +1 -1
  40. package/dist/types.d.ts +20 -2
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +4 -4
  43. package/src/index.ts +10 -0
  44. package/src/module.ts +9 -0
  45. package/src/procedures/documents.aggregate.ts +34 -3
  46. package/src/procedures/documents.bulk.ts +192 -0
  47. package/src/procedures/documents.distinct.ts +57 -0
  48. package/src/procedures/documents.explain.ts +144 -0
  49. package/src/procedures/index.ts +6 -0
  50. package/src/procedures/watch.ts +184 -0
  51. package/src/procedures.types.ts +25 -0
  52. package/src/storage/mongo-storage.ts +5 -0
  53. package/src/types.ts +22 -2
@@ -64,6 +64,11 @@ export class MongoStorage<T> implements CollectionStorage<T> {
64
64
  return docs.map((doc) => doc.data);
65
65
  }
66
66
 
67
+ async getEntries(): Promise<Array<[string, T]>> {
68
+ const docs = await (await this.getCollection()).find({}).toArray();
69
+ return docs.map((doc) => [doc._id, doc.data]);
70
+ }
71
+
67
72
  async find(predicate: (item: T) => boolean): Promise<T[]> {
68
73
  const all = await this.getAll();
69
74
  return all.filter(predicate);
package/src/types.ts CHANGED
@@ -199,6 +199,17 @@ export interface BulkUpdateOne {
199
199
  };
200
200
  }
201
201
 
202
+ /**
203
+ * Update operation of each matching document, for bulk write
204
+ */
205
+ export interface BulkUpdateMany {
206
+ updateMany: {
207
+ filter: DocumentQuery;
208
+ update: DocumentUpdate;
209
+ upsert?: boolean;
210
+ };
211
+ }
212
+
202
213
  /**
203
214
  * Delete operation for bulk write
204
215
  */
@@ -209,9 +220,18 @@ export interface BulkDeleteOne {
209
220
  }
210
221
 
211
222
  /**
212
- * Bulk operation union type
223
+ * Delete operation of each matching document, for bulk write
224
+ */
225
+ export interface BulkDeleteMany {
226
+ deleteMany: {
227
+ filter: DocumentQuery;
228
+ };
229
+ }
230
+
231
+ /**
232
+ * Bulk operation union type: the operations of `mongo.documents.bulk`
213
233
  */
214
- export type BulkOperation = BulkInsertOne | BulkUpdateOne | BulkDeleteOne;
234
+ export type BulkOperation = BulkInsertOne | BulkUpdateOne | BulkUpdateMany | BulkDeleteOne | BulkDeleteMany;
215
235
 
216
236
  /**
217
237
  * Result of a bulk write operation