///
import { QueryRunner } from "../../query-runner/QueryRunner";
import { ObjectLiteral } from "../../common/ObjectLiteral";
import { TableColumn } from "../../schema-builder/table/TableColumn";
import { Table } from "../../schema-builder/table/Table";
import { TableForeignKey } from "../../schema-builder/table/TableForeignKey";
import { TableIndex } from "../../schema-builder/table/TableIndex";
import { AggregationCursor, BulkWriteOpResultObject, Code, Collection, CollectionAggregationOptions, CollectionBluckWriteOptions, CollectionInsertManyOptions, CollectionInsertOneOptions, CollectionOptions, CollStats, CommandCursor, Cursor, Db, DeleteWriteOpResultObject, FindAndModifyWriteOpResultObject, FindOneAndReplaceOption, GeoHaystackSearchOptions, GeoNearOptions, InsertOneWriteOpResult, InsertWriteOpResult, MapReduceOptions, MongoCountPreferences, MongodbIndexOptions, OrderedBulkOperation, ParallelCollectionScanOptions, ReadPreference, ReplaceOneOptions, UnorderedBulkOperation, UpdateWriteOpResult } from "./typings";
import { Connection } from "../../connection/Connection";
import { ReadStream } from "../../platform/PlatformTools";
import { MongoEntityManager } from "../../entity-manager/MongoEntityManager";
import { SqlInMemory } from "../SqlInMemory";
import { TableUnique } from "../../schema-builder/table/TableUnique";
import { Broadcaster } from "../../subscriber/Broadcaster";
import { TableCheck } from "../../schema-builder/table/TableCheck";
export declare class MongoQueryRunner implements QueryRunner {
connection: Connection;
broadcaster: Broadcaster;
manager: MongoEntityManager;
isReleased: boolean;
isTransactionActive: boolean;
data: {};
loadedTables: Table[];
databaseConnection: Db;
constructor(connection: Connection, databaseConnection: Db);
cursor(collectionName: string, query?: ObjectLiteral): Cursor;
aggregate(collectionName: string, pipeline: ObjectLiteral[], options?: CollectionAggregationOptions): AggregationCursor;
bulkWrite(collectionName: string, operations: ObjectLiteral[], options?: CollectionBluckWriteOptions): Promise;
count(collectionName: string, query?: ObjectLiteral, options?: MongoCountPreferences): Promise;
createCollectionIndex(collectionName: string, fieldOrSpec: string | any, options?: MongodbIndexOptions): Promise;
createCollectionIndexes(collectionName: string, indexSpecs: ObjectLiteral[]): Promise;
deleteMany(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise;
deleteOne(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise;
distinct(collectionName: string, key: string, query: ObjectLiteral, options?: {
readPreference?: ReadPreference | string;
}): Promise;
dropCollectionIndex(collectionName: string, indexName: string, options?: CollectionOptions): Promise;
dropCollectionIndexes(collectionName: string): Promise;
findOneAndDelete(collectionName: string, query: ObjectLiteral, options?: {
projection?: Object;
sort?: Object;
maxTimeMS?: number;
}): Promise;
findOneAndReplace(collectionName: string, query: ObjectLiteral, replacement: Object, options?: FindOneAndReplaceOption): Promise;
findOneAndUpdate(collectionName: string, query: ObjectLiteral, update: Object, options?: FindOneAndReplaceOption): Promise;
geoHaystackSearch(collectionName: string, x: number, y: number, options?: GeoHaystackSearchOptions): Promise;
geoNear(collectionName: string, x: number, y: number, options?: GeoNearOptions): Promise;
group(collectionName: string, keys: Object | Array | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, options?: {
readPreference?: ReadPreference | string;
}): Promise;
collectionIndexes(collectionName: string): Promise;
collectionIndexExists(collectionName: string, indexes: string | string[]): Promise;
collectionIndexInformation(collectionName: string, options?: {
full: boolean;
}): Promise;
initializeOrderedBulkOp(collectionName: string, options?: CollectionOptions): OrderedBulkOperation;
initializeUnorderedBulkOp(collectionName: string, options?: CollectionOptions): UnorderedBulkOperation;
insertMany(collectionName: string, docs: ObjectLiteral[], options?: CollectionInsertManyOptions): Promise;
insertOne(collectionName: string, doc: ObjectLiteral, options?: CollectionInsertOneOptions): Promise;
isCapped(collectionName: string): Promise;
listCollectionIndexes(collectionName: string, options?: {
batchSize?: number;
readPreference?: ReadPreference | string;
}): CommandCursor;
mapReduce(collectionName: string, map: Function | string, reduce: Function | string, options?: MapReduceOptions): Promise;
parallelCollectionScan(collectionName: string, options?: ParallelCollectionScanOptions): Promise[]>;
reIndex(collectionName: string): Promise;
rename(collectionName: string, newName: string, options?: {
dropTarget?: boolean;
}): Promise;
replaceOne(collectionName: string, query: ObjectLiteral, doc: ObjectLiteral, options?: ReplaceOneOptions): Promise;
stats(collectionName: string, options?: {
scale: number;
}): Promise;
updateMany(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: {
upsert?: boolean;
w?: any;
wtimeout?: number;
j?: boolean;
}): Promise;
updateOne(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: ReplaceOneOptions): Promise;
clearDatabase(): Promise;
connect(): Promise;
release(): Promise;
startTransaction(): Promise;
commitTransaction(): Promise;
rollbackTransaction(): Promise;
query(query: string, parameters?: any[]): Promise;
stream(query: string, parameters?: any[], onEnd?: Function, onError?: Function): Promise;
getDatabases(): Promise;
getSchemas(database?: string): Promise;
getTable(collectionName: string): Promise;
getTables(collectionNames: string[]): Promise;
hasDatabase(database: string): Promise;
hasSchema(schema: string): Promise;
hasTable(collectionName: string): Promise;
hasColumn(tableOrName: Table | string, columnName: string): Promise;
createDatabase(database: string): Promise;
dropDatabase(database: string, ifExist?: boolean): Promise;
createSchema(schema: string, ifNotExist?: boolean): Promise;
dropSchema(schemaPath: string, ifExist?: boolean): Promise;
createTable(table: Table): Promise;
dropTable(tableName: Table | string): Promise;
renameTable(oldTableOrName: Table | string, newTableOrName: Table | string): Promise;
addColumn(tableOrName: Table | string, column: TableColumn): Promise;
addColumns(tableOrName: Table | string, columns: TableColumn[]): Promise;
renameColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newTableColumnOrName: TableColumn | string): Promise;
changeColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newColumn: TableColumn): Promise;
changeColumns(tableOrName: Table | string, changedColumns: {
newColumn: TableColumn;
oldColumn: TableColumn;
}[]): Promise;
dropColumn(tableOrName: Table | string, columnOrName: TableColumn | string): Promise;
dropColumns(tableOrName: Table | string, columns: TableColumn[]): Promise;
createPrimaryKey(tableOrName: Table | string, columnNames: string[]): Promise;
updatePrimaryKeys(tableOrName: Table | string, columns: TableColumn[]): Promise;
dropPrimaryKey(tableOrName: Table | string): Promise;
createUniqueConstraint(tableOrName: Table | string, uniqueConstraint: TableUnique): Promise;
createUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise;
dropUniqueConstraint(tableOrName: Table | string, uniqueOrName: TableUnique | string): Promise;
dropUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise;
createCheckConstraint(tableOrName: Table | string, checkConstraint: TableCheck): Promise;
createCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise;
dropCheckConstraint(tableOrName: Table | string, checkOrName: TableCheck | string): Promise;
dropCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise;
createForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise;
createForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise;
dropForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise;
dropForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise;
createIndex(tableOrName: Table | string, index: TableIndex): Promise;
createIndices(tableOrName: Table | string, indices: TableIndex[]): Promise;
dropIndex(collectionName: string, indexName: string): Promise;
dropIndices(tableOrName: Table | string, indices: TableIndex[]): Promise;
clearTable(collectionName: string): Promise;
enableSqlMemory(): void;
disableSqlMemory(): void;
clearSqlMemory(): void;
getMemorySql(): SqlInMemory;
executeMemoryUpSql(): Promise;
executeMemoryDownSql(): Promise;
protected getCollection(collectionName: string): Collection;
}