diff --git a/ts/smartdata.classes.collection.ts b/ts/smartdata.classes.collection.ts index 6cd8beb..2dadd4f 100644 --- a/ts/smartdata.classes.collection.ts +++ b/ts/smartdata.classes.collection.ts @@ -25,7 +25,7 @@ export function Collection(dbArg: SmartdataDb | TDelayedDbCreation) { // tslint:disable-next-line: no-string-literal constructor['smartdataCollection'] = new SmartdataCollection(constructor, dbArg); } else { - constructor['smartdataDelayedDatabase'] = () => { + constructor['smartdataDelayedCollection'] = () => { return new SmartdataCollection(constructor, dbArg()); }; } diff --git a/ts/smartdata.classes.doc.ts b/ts/smartdata.classes.doc.ts index 74e9803..e13648d 100644 --- a/ts/smartdata.classes.doc.ts +++ b/ts/smartdata.classes.doc.ts @@ -81,9 +81,9 @@ export class SmartDataDbDoc { // tslint:disable-next-line: no-string-literal this.collection = this.constructor['smartdataCollection']; // tslint:disable-next-line: no-string-literal - } else if (typeof this.constructor['smartdataDelayedDatabase'] === 'function') { + } else if (typeof this.constructor['smartdataDelayedCollection'] === 'function') { // tslint:disable-next-line: no-string-literal - this.collection = this.constructor['smartdataDelayedDatabase'](); + this.collection = this.constructor['smartdataDelayedCollection'](); } else { console.error('Could not determine collection for DbDoc'); } @@ -91,7 +91,13 @@ export class SmartDataDbDoc { static async getInstances(filterArg): Promise { let self: any = this; // fool typesystem - let referenceMongoDBCollection: SmartdataCollection = self.smartdataCollection; + let referenceMongoDBCollection: SmartdataCollection; + + if (self.smartdataCollection) { + referenceMongoDBCollection = self.smartdataCollection; + } else if (self.smartdataDelayedCollection) { + referenceMongoDBCollection = self.smartdataDelayedCollection(); + }; const foundDocs = await referenceMongoDBCollection.find(filterArg); const returnArray = []; for (let item of foundDocs) {