| "use strict"; | 
| Object.defineProperty(exports, "__esModule", { value: true }); | 
| var tslib_1 = require("tslib"); | 
| var Broadcaster_1 = require("../../subscriber/Broadcaster"); | 
| /** | 
|  * Runs queries on a single MongoDB connection. | 
|  */ | 
| var MongoQueryRunner = /** @class */ (function () { | 
|     // ------------------------------------------------------------------------- | 
|     // Constructor | 
|     // ------------------------------------------------------------------------- | 
|     function MongoQueryRunner(connection, databaseConnection) { | 
|         /** | 
|          * Indicates if connection for this query runner is released. | 
|          * Once its released, query runner cannot run queries anymore. | 
|          * Always false for mongodb since mongodb has a single query executor instance. | 
|          */ | 
|         this.isReleased = false; | 
|         /** | 
|          * Indicates if transaction is active in this query executor. | 
|          * Always false for mongodb since mongodb does not support transactions. | 
|          */ | 
|         this.isTransactionActive = false; | 
|         /** | 
|          * Stores temporarily user data. | 
|          * Useful for sharing data with subscribers. | 
|          */ | 
|         this.data = {}; | 
|         this.connection = connection; | 
|         this.databaseConnection = databaseConnection; | 
|         this.broadcaster = new Broadcaster_1.Broadcaster(this); | 
|     } | 
|     // ------------------------------------------------------------------------- | 
|     // Public Methods | 
|     // ------------------------------------------------------------------------- | 
|     /** | 
|      * Creates a cursor for a query that can be used to iterate over results from MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.cursor = function (collectionName, query) { | 
|         return this.getCollection(collectionName).find(query || {}); | 
|     }; | 
|     /** | 
|      * Execute an aggregation framework pipeline against the collection. | 
|      */ | 
|     MongoQueryRunner.prototype.aggregate = function (collectionName, pipeline, options) { | 
|         return this.getCollection(collectionName).aggregate(pipeline, options); | 
|     }; | 
|     /** | 
|      * Perform a bulkWrite operation without a fluent API. | 
|      */ | 
|     MongoQueryRunner.prototype.bulkWrite = function (collectionName, operations, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).bulkWrite(operations, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Count number of matching documents in the db to a query. | 
|      */ | 
|     MongoQueryRunner.prototype.count = function (collectionName, query, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).countDocuments(query || {}, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates an index on the db and collection. | 
|      */ | 
|     MongoQueryRunner.prototype.createCollectionIndex = function (collectionName, fieldOrSpec, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).createIndex(fieldOrSpec, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates multiple indexes in the collection, this method is only supported for MongoDB 2.6 or higher. | 
|      * Earlier version of MongoDB will throw a command not supported error. Index specifications are defined at http://docs.mongodb.org/manual/reference/command/createIndexes/. | 
|      */ | 
|     MongoQueryRunner.prototype.createCollectionIndexes = function (collectionName, indexSpecs) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).createIndexes(indexSpecs)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Delete multiple documents on MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.deleteMany = function (collectionName, query, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).deleteMany(query, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Delete a document on MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.deleteOne = function (collectionName, query, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).deleteOne(query, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * The distinct command returns returns a list of distinct values for the given key across a collection. | 
|      */ | 
|     MongoQueryRunner.prototype.distinct = function (collectionName, key, query, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).distinct(key, query, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops an index from this collection. | 
|      */ | 
|     MongoQueryRunner.prototype.dropCollectionIndex = function (collectionName, indexName, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).dropIndex(indexName, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops all indexes from the collection. | 
|      */ | 
|     MongoQueryRunner.prototype.dropCollectionIndexes = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).dropIndexes()]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Find a document and delete it in one atomic operation, requires a write lock for the duration of the operation. | 
|      */ | 
|     MongoQueryRunner.prototype.findOneAndDelete = function (collectionName, query, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).findOneAndDelete(query, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Find a document and replace it in one atomic operation, requires a write lock for the duration of the operation. | 
|      */ | 
|     MongoQueryRunner.prototype.findOneAndReplace = function (collectionName, query, replacement, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).findOneAndReplace(query, replacement, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Find a document and update it in one atomic operation, requires a write lock for the duration of the operation. | 
|      */ | 
|     MongoQueryRunner.prototype.findOneAndUpdate = function (collectionName, query, update, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).findOneAndUpdate(query, update, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Execute a geo search using a geo haystack index on a collection. | 
|      */ | 
|     MongoQueryRunner.prototype.geoHaystackSearch = function (collectionName, x, y, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).geoHaystackSearch(x, y, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Execute the geoNear command to search for items in the collection. | 
|      */ | 
|     MongoQueryRunner.prototype.geoNear = function (collectionName, x, y, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).geoNear(x, y, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Run a group command across a collection. | 
|      */ | 
|     MongoQueryRunner.prototype.group = function (collectionName, keys, condition, initial, reduce, finalize, command, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).group(keys, condition, initial, reduce, finalize, command, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Retrieve all the indexes on the collection. | 
|      */ | 
|     MongoQueryRunner.prototype.collectionIndexes = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).indexes()]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Retrieve all the indexes on the collection. | 
|      */ | 
|     MongoQueryRunner.prototype.collectionIndexExists = function (collectionName, indexes) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).indexExists(indexes)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Retrieves this collections index info. | 
|      */ | 
|     MongoQueryRunner.prototype.collectionIndexInformation = function (collectionName, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).indexInformation(options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Initiate an In order bulk write operation, operations will be serially executed in the order they are added, creating a new operation for each switch in types. | 
|      */ | 
|     MongoQueryRunner.prototype.initializeOrderedBulkOp = function (collectionName, options) { | 
|         return this.getCollection(collectionName).initializeOrderedBulkOp(options); | 
|     }; | 
|     /** | 
|      * Initiate a Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order. | 
|      */ | 
|     MongoQueryRunner.prototype.initializeUnorderedBulkOp = function (collectionName, options) { | 
|         return this.getCollection(collectionName).initializeUnorderedBulkOp(options); | 
|     }; | 
|     /** | 
|      * Inserts an array of documents into MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.insertMany = function (collectionName, docs, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).insertMany(docs, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Inserts a single document into MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.insertOne = function (collectionName, doc, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).insertOne(doc, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Returns if the collection is a capped collection. | 
|      */ | 
|     MongoQueryRunner.prototype.isCapped = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).isCapped()]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Get the list of all indexes information for the collection. | 
|      */ | 
|     MongoQueryRunner.prototype.listCollectionIndexes = function (collectionName, options) { | 
|         return this.getCollection(collectionName).listIndexes(options); | 
|     }; | 
|     /** | 
|      * Run Map Reduce across a collection. Be aware that the inline option for out will return an array of results not a collection. | 
|      */ | 
|     MongoQueryRunner.prototype.mapReduce = function (collectionName, map, reduce, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).mapReduce(map, reduce, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Return N number of parallel cursors for a collection allowing parallel reading of entire collection. | 
|      * There are no ordering guarantees for returned results. | 
|      */ | 
|     MongoQueryRunner.prototype.parallelCollectionScan = function (collectionName, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).parallelCollectionScan(options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections. | 
|      */ | 
|     MongoQueryRunner.prototype.reIndex = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).reIndex()]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections. | 
|      */ | 
|     MongoQueryRunner.prototype.rename = function (collectionName, newName, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).rename(newName, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Replace a document on MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.replaceOne = function (collectionName, query, doc, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).replaceOne(query, doc, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Get all the collection statistics. | 
|      */ | 
|     MongoQueryRunner.prototype.stats = function (collectionName, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).stats(options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Watching new changes as stream. | 
|      */ | 
|     MongoQueryRunner.prototype.watch = function (collectionName, pipeline, options) { | 
|         return this.getCollection(collectionName).watch(pipeline, options); | 
|     }; | 
|     /** | 
|      * Update multiple documents on MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.updateMany = function (collectionName, query, update, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).updateMany(query, update, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Update a single document on MongoDB. | 
|      */ | 
|     MongoQueryRunner.prototype.updateOne = function (collectionName, query, update, options) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.getCollection(collectionName).updateOne(query, update, options)]; | 
|                     case 1: return [2 /*return*/, _a.sent()]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     // ------------------------------------------------------------------------- | 
|     // Public Implemented Methods (from QueryRunner) | 
|     // ------------------------------------------------------------------------- | 
|     /** | 
|      * Removes all collections from the currently connected database. | 
|      * Be careful with using this method and avoid using it in production or migrations | 
|      * (because it can clear all your database). | 
|      */ | 
|     MongoQueryRunner.prototype.clearDatabase = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.databaseConnection.db(this.connection.driver.database).dropDatabase()]; | 
|                     case 1: | 
|                         _a.sent(); | 
|                         return [2 /*return*/]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * For MongoDB database we don't create connection, because its single connection already created by a driver. | 
|      */ | 
|     MongoQueryRunner.prototype.connect = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 return [2 /*return*/]; | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * For MongoDB database we don't release connection, because its single connection. | 
|      */ | 
|     MongoQueryRunner.prototype.release = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 return [2 /*return*/]; | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Starts transaction. | 
|      */ | 
|     MongoQueryRunner.prototype.startTransaction = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 return [2 /*return*/]; | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Commits transaction. | 
|      */ | 
|     MongoQueryRunner.prototype.commitTransaction = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 return [2 /*return*/]; | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Rollbacks transaction. | 
|      */ | 
|     MongoQueryRunner.prototype.rollbackTransaction = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 return [2 /*return*/]; | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Executes a given SQL query. | 
|      */ | 
|     MongoQueryRunner.prototype.query = function (query, parameters) { | 
|         throw new Error("Executing SQL query is not supported by MongoDB driver."); | 
|     }; | 
|     /** | 
|      * Returns raw data stream. | 
|      */ | 
|     MongoQueryRunner.prototype.stream = function (query, parameters, onEnd, onError) { | 
|         throw new Error("Stream is not supported by MongoDB driver. Use watch instead."); | 
|     }; | 
|     /** | 
|      * Insert a new row with given values into the given table. | 
|      * Returns value of inserted object id. | 
|   | 
|     async insert(collectionName: string, keyValues: ObjectLiteral): Promise<any> { // todo: fix any | 
|         const results = await this.databaseConnection | 
|             .collection(collectionName) | 
|             .insertOne(keyValues); | 
|         const generatedMap = this.connection.getMetadata(collectionName).objectIdColumn!.createValueMap(results.insertedId); | 
|         return { | 
|             result: results, | 
|             generatedMap: generatedMap | 
|         }; | 
|     }*/ | 
|     /** | 
|      * Updates rows that match given conditions in the given table. | 
|   | 
|     async update(collectionName: string, valuesMap: ObjectLiteral, conditions: ObjectLiteral): Promise<any> { // todo: fix any | 
|         await this.databaseConnection | 
|             .collection(collectionName) | 
|             .updateOne(conditions, valuesMap); | 
|     }*/ | 
|     /** | 
|      * Deletes from the given table by a given conditions. | 
|   | 
|     async delete(collectionName: string, conditions: ObjectLiteral|ObjectLiteral[]|string, maybeParameters?: any[]): Promise<any> { // todo: fix any | 
|         if (typeof conditions === "string") | 
|             throw new Error(`String condition is not supported by MongoDB driver.`); | 
|   | 
|         await this.databaseConnection | 
|             .collection(collectionName) | 
|             .deleteOne(conditions); | 
|     }*/ | 
|     /** | 
|      * Returns all available database names including system databases. | 
|      */ | 
|     MongoQueryRunner.prototype.getDatabases = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Returns all available schema names including system schemas. | 
|      * If database parameter specified, returns schemas of that database. | 
|      */ | 
|     MongoQueryRunner.prototype.getSchemas = function (database) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Loads given table's data from the database. | 
|      */ | 
|     MongoQueryRunner.prototype.getTable = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Loads all tables (with given names) from the database and creates a Table from them. | 
|      */ | 
|     MongoQueryRunner.prototype.getTables = function (collectionNames) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Loads given views's data from the database. | 
|      */ | 
|     MongoQueryRunner.prototype.getView = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Loads all views (with given names) from the database and creates a Table from them. | 
|      */ | 
|     MongoQueryRunner.prototype.getViews = function (collectionNames) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Checks if database with the given name exist. | 
|      */ | 
|     MongoQueryRunner.prototype.hasDatabase = function (database) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Check database queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Checks if schema with the given name exist. | 
|      */ | 
|     MongoQueryRunner.prototype.hasSchema = function (schema) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Check schema queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Checks if table with the given name exist in the database. | 
|      */ | 
|     MongoQueryRunner.prototype.hasTable = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Check schema queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Checks if column with the given name exist in the given table. | 
|      */ | 
|     MongoQueryRunner.prototype.hasColumn = function (tableOrName, columnName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a database if it's not created. | 
|      */ | 
|     MongoQueryRunner.prototype.createDatabase = function (database) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Database create queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops database. | 
|      */ | 
|     MongoQueryRunner.prototype.dropDatabase = function (database, ifExist) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Database drop queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new table schema. | 
|      */ | 
|     MongoQueryRunner.prototype.createSchema = function (schema, ifNotExist) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema create queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops table schema. | 
|      */ | 
|     MongoQueryRunner.prototype.dropSchema = function (schemaPath, ifExist) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema drop queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new table from the given table and columns inside it. | 
|      */ | 
|     MongoQueryRunner.prototype.createTable = function (table) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops the table. | 
|      */ | 
|     MongoQueryRunner.prototype.dropTable = function (tableName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new view. | 
|      */ | 
|     MongoQueryRunner.prototype.createView = function (view) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops the view. | 
|      */ | 
|     MongoQueryRunner.prototype.dropView = function (target) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Renames the given table. | 
|      */ | 
|     MongoQueryRunner.prototype.renameTable = function (oldTableOrName, newTableOrName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new column from the column in the table. | 
|      */ | 
|     MongoQueryRunner.prototype.addColumn = function (tableOrName, column) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new columns from the column in the table. | 
|      */ | 
|     MongoQueryRunner.prototype.addColumns = function (tableOrName, columns) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Renames column in the given table. | 
|      */ | 
|     MongoQueryRunner.prototype.renameColumn = function (tableOrName, oldTableColumnOrName, newTableColumnOrName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Changes a column in the table. | 
|      */ | 
|     MongoQueryRunner.prototype.changeColumn = function (tableOrName, oldTableColumnOrName, newColumn) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Changes a column in the table. | 
|      */ | 
|     MongoQueryRunner.prototype.changeColumns = function (tableOrName, changedColumns) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops column in the table. | 
|      */ | 
|     MongoQueryRunner.prototype.dropColumn = function (tableOrName, columnOrName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops the columns in the table. | 
|      */ | 
|     MongoQueryRunner.prototype.dropColumns = function (tableOrName, columns) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new primary key. | 
|      */ | 
|     MongoQueryRunner.prototype.createPrimaryKey = function (tableOrName, columnNames) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Updates composite primary keys. | 
|      */ | 
|     MongoQueryRunner.prototype.updatePrimaryKeys = function (tableOrName, columns) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops a primary key. | 
|      */ | 
|     MongoQueryRunner.prototype.dropPrimaryKey = function (tableOrName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new unique constraint. | 
|      */ | 
|     MongoQueryRunner.prototype.createUniqueConstraint = function (tableOrName, uniqueConstraint) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new unique constraints. | 
|      */ | 
|     MongoQueryRunner.prototype.createUniqueConstraints = function (tableOrName, uniqueConstraints) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops an unique constraint. | 
|      */ | 
|     MongoQueryRunner.prototype.dropUniqueConstraint = function (tableOrName, uniqueOrName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops an unique constraints. | 
|      */ | 
|     MongoQueryRunner.prototype.dropUniqueConstraints = function (tableOrName, uniqueConstraints) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new check constraint. | 
|      */ | 
|     MongoQueryRunner.prototype.createCheckConstraint = function (tableOrName, checkConstraint) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new check constraints. | 
|      */ | 
|     MongoQueryRunner.prototype.createCheckConstraints = function (tableOrName, checkConstraints) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops check constraint. | 
|      */ | 
|     MongoQueryRunner.prototype.dropCheckConstraint = function (tableOrName, checkOrName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops check constraints. | 
|      */ | 
|     MongoQueryRunner.prototype.dropCheckConstraints = function (tableOrName, checkConstraints) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new exclusion constraint. | 
|      */ | 
|     MongoQueryRunner.prototype.createExclusionConstraint = function (tableOrName, exclusionConstraint) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new exclusion constraints. | 
|      */ | 
|     MongoQueryRunner.prototype.createExclusionConstraints = function (tableOrName, exclusionConstraints) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops exclusion constraint. | 
|      */ | 
|     MongoQueryRunner.prototype.dropExclusionConstraint = function (tableOrName, exclusionOrName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops exclusion constraints. | 
|      */ | 
|     MongoQueryRunner.prototype.dropExclusionConstraints = function (tableOrName, exclusionConstraints) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new foreign key. | 
|      */ | 
|     MongoQueryRunner.prototype.createForeignKey = function (tableOrName, foreignKey) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new foreign keys. | 
|      */ | 
|     MongoQueryRunner.prototype.createForeignKeys = function (tableOrName, foreignKeys) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops a foreign key from the table. | 
|      */ | 
|     MongoQueryRunner.prototype.dropForeignKey = function (tableOrName, foreignKey) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops a foreign keys from the table. | 
|      */ | 
|     MongoQueryRunner.prototype.dropForeignKeys = function (tableOrName, foreignKeys) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new index. | 
|      */ | 
|     MongoQueryRunner.prototype.createIndex = function (tableOrName, index) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Creates a new indices | 
|      */ | 
|     MongoQueryRunner.prototype.createIndices = function (tableOrName, indices) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops an index from the table. | 
|      */ | 
|     MongoQueryRunner.prototype.dropIndex = function (collectionName, indexName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops an indices from the table. | 
|      */ | 
|     MongoQueryRunner.prototype.dropIndices = function (tableOrName, indices) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("Schema update queries are not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Drops collection. | 
|      */ | 
|     MongoQueryRunner.prototype.clearTable = function (collectionName) { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 switch (_a.label) { | 
|                     case 0: return [4 /*yield*/, this.databaseConnection | 
|                             .db(this.connection.driver.database) | 
|                             .dropCollection(collectionName)]; | 
|                     case 1: | 
|                         _a.sent(); | 
|                         return [2 /*return*/]; | 
|                 } | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Enables special query runner mode in which sql queries won't be executed, | 
|      * instead they will be memorized into a special variable inside query runner. | 
|      * You can get memorized sql using getMemorySql() method. | 
|      */ | 
|     MongoQueryRunner.prototype.enableSqlMemory = function () { | 
|         throw new Error("This operation is not supported by MongoDB driver."); | 
|     }; | 
|     /** | 
|      * Disables special query runner mode in which sql queries won't be executed | 
|      * started by calling enableSqlMemory() method. | 
|      * | 
|      * Previously memorized sql will be flushed. | 
|      */ | 
|     MongoQueryRunner.prototype.disableSqlMemory = function () { | 
|         throw new Error("This operation is not supported by MongoDB driver."); | 
|     }; | 
|     /** | 
|      * Flushes all memorized sqls. | 
|      */ | 
|     MongoQueryRunner.prototype.clearSqlMemory = function () { | 
|         throw new Error("This operation is not supported by MongoDB driver."); | 
|     }; | 
|     /** | 
|      * Gets sql stored in the memory. Parameters in the sql are already replaced. | 
|      */ | 
|     MongoQueryRunner.prototype.getMemorySql = function () { | 
|         throw new Error("This operation is not supported by MongoDB driver."); | 
|     }; | 
|     /** | 
|      * Executes up sql queries. | 
|      */ | 
|     MongoQueryRunner.prototype.executeMemoryUpSql = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("This operation is not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     /** | 
|      * Executes down sql queries. | 
|      */ | 
|     MongoQueryRunner.prototype.executeMemoryDownSql = function () { | 
|         return tslib_1.__awaiter(this, void 0, void 0, function () { | 
|             return tslib_1.__generator(this, function (_a) { | 
|                 throw new Error("This operation is not supported by MongoDB driver."); | 
|             }); | 
|         }); | 
|     }; | 
|     // ------------------------------------------------------------------------- | 
|     // Protected Methods | 
|     // ------------------------------------------------------------------------- | 
|     /** | 
|      * Gets collection from the database with a given name. | 
|      */ | 
|     MongoQueryRunner.prototype.getCollection = function (collectionName) { | 
|         return this.databaseConnection.db(this.connection.driver.database).collection(collectionName); | 
|     }; | 
|     return MongoQueryRunner; | 
| }()); | 
| exports.MongoQueryRunner = MongoQueryRunner; | 
|   | 
| //# sourceMappingURL=MongoQueryRunner.js.map |