UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

1,026 lines (950 loc) 66.3 kB
// Type definitions for MongoDB v2.1 // Project: https://github.com/mongodb/node-mongodb-native/tree/2.1 // Definitions by: Federico Caselli <https://github.com/CaselIT> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Documentation : http://mongodb.github.io/node-mongodb-native/2.1/api/ /// <reference path='../node/node.d.ts' /> declare module "mongodb" { import {EventEmitter} from 'events'; // Class documentation : http://mongodb.github.io/node-mongodb-native/2.1/api/MongoClient.html export class MongoClient { constructor(); static connect(uri: string, callback: MongoCallback<Db>): void; static connect(uri: string, options?: MongoClientOptions): Promise<Db>; static connect(uri: string, options: MongoClientOptions, callback: MongoCallback<Db>): void; connect(uri: string, callback: MongoCallback<Db>): void; connect(uri: string, options?: MongoClientOptions): Promise<Db>; connect(uri: string, options: MongoClientOptions, callback: MongoCallback<Db>): void; } export interface MongoCallback<T> { (error: MongoError, result: T): void; } // http://mongodb.github.io/node-mongodb-native/2.1/api/MongoError.html export class MongoError extends Error { constructor(message: string); static create(options: Object): MongoError; } //http://mongodb.github.io/node-mongodb-native/2.1/api/MongoClient.html#.connect export interface MongoClientOptions { uri_decode_auth?: boolean; db?: DbCreateOptions; server?: ServerOptions; replSet?: ReplSetOptions; mongos?: MongosOptions; promiseLibrary?: Object; } // See : http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html export interface DbCreateOptions { authSource?: string; // the write concern for the operation where < 1 is no acknowlegement of write and w >= 1, w = ‘majority’ or tag acknowledges the write. w?: number | string; // set the timeout for waiting for write concern to finish (combines with w option). wtimeout?: number; j?: boolean; // use c++ bson parser. default:false. native_parser?: boolean; // force server to create _id fields instead of client. default:false. forceServerObjectId?: boolean; serializeFunctions?: boolean; ignoreUndefined?: boolean; // peform operations using raw bson buffers. default:false. raw?: boolean; // when deserializing a Long will fit it into a Number if it’s smaller than 53 bits. default:true. promoteLongs?: boolean; bufferMaxEntries?: number; // the prefered read preference. use 'ReadPreference' class. readPreference?: ReadPreference | string; // custom primary key factory to generate _id values (see Custom primary keys). pkFactory?: Object; promiseLibrary?: Object; readConcern?: { level?: Object }; } // See http://mongodb.github.io/node-mongodb-native/2.1/api/ReadPreference.html export class ReadPreference { constructor(mode: string, tags: Object); mode: string; tags: any; static PRIMARY: string; static PRIMARY_PREFERRED: string; static SECONDARY: string; static SECONDARY_PREFERRED: string; static NEAREST: string; isValid(mode: string): boolean; static isValid(mode: string): boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Server.html export interface SocketOptions { // Reconnect on error. default:false autoReconnect?: boolean; // TCP Socket NoDelay option. default:true noDelay?: boolean; // TCP KeepAlive on the socket with a X ms delay before start. default:0 keepAlive?: number; // TCP Connection timeout setting. default 0 connectTimeoutMS?: number; // TCP Socket timeout setting. default 0 socketTimeoutMS?: number; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Server.html export interface ServerOptions { // - specify the number of connections in the pool default:5 poolSize?: number; ssl?: boolean; sslValidate?: Object; checkServerIdentity?: boolean | Function; sslCA?: Array<Buffer | string>; sslCert?: Buffer | string; sslKey?: Buffer | string; sslPass?: Buffer | string; socketOptions?: SocketOptions; reconnectTries?: number; reconnectInterval?: number; } //http://mongodb.github.io/node-mongodb-native/2.1/api/ReplSet.html export interface ReplSetOptions { ha?: boolean; haInterval?: number; replicaSet?: string; secondaryAcceptableLatencyMS?: number; connectWithNoPrimary?: boolean; // - specify the number of connections in the pool default:5 poolSize?: number; ssl?: boolean; sslValidate?: Object; checkServerIdentity?: boolean | Function; sslCA?: Array<Buffer | string>; sslCert?: Buffer | string; sslKey?: Buffer | string; sslPass?: Buffer | string; socketOptions?: SocketOptions; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Mongos.html export interface MongosOptions { ha?: boolean; haInterval?: number; // - specify the number of connections in the pool default:5 poolSize?: number; ssl?: boolean; sslValidate?: Object; checkServerIdentity?: boolean | Function; sslCA?: Array<Buffer | string>; sslCert?: Buffer | string; sslKey?: Buffer | string; sslPass?: Buffer | string; socketOptions?: SocketOptions; } // Class documentation : http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html export class Db extends EventEmitter { constructor(databaseName: string, serverConfig: Server | ReplSet | Mongos, options?: DbCreateOptions); serverConfig: Server | ReplSet | Mongos; bufferMaxEntries: number; databaseName: string; options: any; native_parser: boolean; slaveOk: boolean; writeConcern: any; // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#addUser addUser(username: string, password: string, callback: MongoCallback<any>): void; addUser(username: string, password: string, options?: DbAddUserOptions): Promise<any>; addUser(username: string, password: string, options: DbAddUserOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#admin admin(): Admin; // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#authenticate authenticate(userName: string, password: string, callback: MongoCallback<any>): void; authenticate(userName: string, password: string, options?: { authMechanism: string }): Promise<any>; authenticate(userName: string, password: string, options: { authMechanism: string }, callback: MongoCallback<any>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#close close(callback: MongoCallback<void>): void; close(forceClose?: boolean): Promise<void>; close(forceClose: boolean, callback: MongoCallback<void>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#collection collection(name: string): Collection; collection(name: string, callback: MongoCallback<Collection>): Collection; collection(name: string, options: DbCollectionOptions, callback: MongoCallback<Collection>): Collection; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#collections collections(): Promise<Collection[]>; collections(callback: MongoCallback<Collection[]>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#command command(command: Object, callback: MongoCallback<any>): void; command(command: Object, options?: { readPreference: ReadPreference | string }): Promise<any>; command(command: Object, options: { readPreference: ReadPreference | string }, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#createCollection createCollection(name: string, callback: MongoCallback<Collection>): void; createCollection(name: string, options?: CollectionCreateOptions): Promise<Collection>; createCollection(name: string, options: CollectionCreateOptions, callback: MongoCallback<Collection>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#createIndex createIndex(name: string, fieldOrSpec: string | Object, callback: MongoCallback<any>): void; createIndex(name: string, fieldOrSpec: string | Object, options?: IndexOptions): Promise<any>; createIndex(name: string, fieldOrSpec: string | Object, options: IndexOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#db db(dbName: string): Db; db(dbName: string, options: { noListener?: boolean, returnNonCachedInstance?: boolean }): Db; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#dropCollection dropCollection(name: string): Promise<boolean>; dropCollection(name: string, callback: MongoCallback<boolean>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#dropDatabase dropDatabase(): Promise<any>; dropDatabase(callback: MongoCallback<any>): void; //deprecated http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#ensureIndex // ensureIndex(collectionName: any, fieldOrSpec: any, options: IndexOptions, callback: Function): void; //deprecated http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#eval // eval(code: any, parameters: any[], options?: any, callback?: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#executeDbAdminCommand executeDbAdminCommand(command: Object, callback: MongoCallback<any>): void; executeDbAdminCommand(command: Object, options?: { readPreference?: ReadPreference | string, maxTimeMS?: number }): Promise<any>; executeDbAdminCommand(command: Object, options: { readPreference?: ReadPreference | string, maxTimeMS?: number }, callback: MongoCallback<any>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#indexInformation indexInformation(name: string, callback: MongoCallback<any>): void; indexInformation(name: string, options?: { full?: boolean, readPreference?: ReadPreference | string }): Promise<any>; indexInformation(name: string, options: { full?: boolean, readPreference?: ReadPreference | string }, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#listCollections listCollections(filter: Object, options?: { batchSize?: number, readPreference?: ReadPreference | string }): CommandCursor; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#logout logout(callback: MongoCallback<any>): void; logout(options?: { dbName?: string }): Promise<any>; logout(options: { dbName?: string }, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#open open(): Promise<Db>; open(callback: MongoCallback<Db>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#removeUser removeUser(username: string, callback: MongoCallback<any>): void; removeUser(username: string, options?: { w?: number | string, wtimeout?: number, j?: boolean }): Promise<any>; removeUser(username: string, options: { w?: number | string, wtimeout?: number, j?: boolean }, callback: MongoCallback<any>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#renameCollection renameCollection(fromCollection: string, toCollection: string, callback: MongoCallback<Collection>): void; renameCollection(fromCollection: string, toCollection: string, options?: { dropTarget?: boolean }): Promise<Collection>; renameCollection(fromCollection: string, toCollection: string, options: { dropTarget?: boolean }, callback: MongoCallback<Collection>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#stats stats(callback: MongoCallback<any>): void; stats(options?: { scale?: number }): Promise<any>; stats(options: { scale?: number }, callback: MongoCallback<any>): void; } // Deprecated http://mongodb.github.io/node-mongodb-native/2.1/api/Server.html export class Server extends EventEmitter { constructor(host: string, port: number, options?: ServerOptions); connections(): Array<any>; } // Deprecated http://mongodb.github.io/node-mongodb-native/2.1/api/ReplSet.html export class ReplSet extends EventEmitter { constructor(servers: Array<Server>, options?: ReplSetOptions); connections(): Array<any>; } // Deprecated http://mongodb.github.io/node-mongodb-native/2.1/api/ReplSet.html export class Mongos extends EventEmitter { constructor(servers: Array<Server>, options?: MongosOptions); connections(): Array<any>; } // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#addUser export interface DbAddUserOptions { w?: string | number; wtimeout?: number; j?: boolean; customData?: Object; roles?: Object[]; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#createCollection export interface CollectionCreateOptions { w?: number | string; wtimeout?: number; j?: boolean; raw?: boolean; pkFactory?: Object; readPreference?: ReadPreference | string; serializeFunctions?: boolean; strict?: boolean; capped?: boolean; size?: number; max?: number; autoIndexId?: boolean; } // http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#collection export interface DbCollectionOptions { w?: number | string; wtimeout?: number; j?: boolean; raw?: boolean; pkFactory?: Object; readPreference?: ReadPreference | string; serializeFunctions?: boolean; strict?: boolean; readConcern?: { level: Object }; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html#createIndex export interface IndexOptions { // The write concern. w?: number | string; // The write concern timeout. wtimeout?: number; // Specify a journal write concern. j?: boolean; // Creates an unique index. unique?: boolean; // Creates a sparse index. sparse?: boolean; // Creates the index in the background, yielding whenever possible. background?: boolean; // A unique index cannot be created on a key that has pre-existing duplicate values. // If you would like to create the index anyway, keeping the first document the database indexes and // deleting all subsequent documents that have duplicate value dropDups?: boolean; // For geo spatial indexes set the lower bound for the co-ordinates. min?: number; // For geo spatial indexes set the high bound for the co-ordinates. max?: number; // Specify the format version of the indexes. v?: number; // Allows you to expire data on indexes applied to a data (MongoDB 2.2 or higher) expireAfterSeconds?: number; // Override the auto generated index name (useful if the resulting name is larger than 128 bytes) name?: string; } // http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html export interface Admin { // http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#addUser addUser(username: string, password: string, callback: MongoCallback<any>): void; addUser(username: string, password: string, options?: AddUserOptions): Promise<any>; addUser(username: string, password: string, options: AddUserOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#authenticate authenticate(username: string, callback: MongoCallback<any>): void; authenticate(username: string, password?: string): Promise<any>; authenticate(username: string, password: string, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#buildInfo buildInfo(): Promise<any>; buildInfo(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#command command(command: Object, callback: MongoCallback<any>): void; command(command: Object, options?: { readPreference?: ReadPreference | string, maxTimeMS?: number }): Promise<any>; command(command: Object, options: { readPreference?: ReadPreference | string, maxTimeMS?: number }, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#listDatabases listDatabases(): Promise<any>; listDatabases(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#logout logout(): Promise<any>; logout(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#ping ping(): Promise<any>; ping(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#profilingInfo profilingInfo(): Promise<any>; profilingInfo(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#profilingLevel profilingLevel(): Promise<any>; profilingLevel(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#removeUser removeUser(username: string, callback: MongoCallback<any>): void; removeUser(username: string, options?: FSyncOptions): Promise<any>; removeUser(username: string, options: FSyncOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#replSetGetStatus replSetGetStatus(): Promise<any>; replSetGetStatus(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#serverInfo serverInfo(): Promise<any>; serverInfo(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#serverStatus serverStatus(): Promise<any>; serverStatus(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#setProfilingLevel setProfilingLevel(level: string): Promise<any>; setProfilingLevel(level: string, callback: MongoCallback<any>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#validateCollection validateCollection(collectionNme: string, callback: MongoCallback<any>): void; validateCollection(collectionNme: string, options?: Object): Promise<any>; validateCollection(collectionNme: string, options: Object, callback: MongoCallback<any>): void; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#addUser export interface AddUserOptions { w?: number | string; wtimeout?: number; j?: boolean; fsync: boolean; customData?: Object; roles?: Object[] } //http://mongodb.github.io/node-mongodb-native/2.1/api/Admin.html#removeUser export interface FSyncOptions { w?: number | string; wtimeout?: number; j?: boolean; fsync?: boolean } // Class documentation : http://mongodb.github.io/node-mongodb-native/2.1/api/ObjectID.html export class ObjectID { constructor(s?: string | number); generationTime: number; // Creates an ObjectID from a hex string representation of an ObjectID. // hexString – create a ObjectID from a passed in 24 byte hexstring. static createFromHexString(hexString: string): ObjectID; // Creates an ObjectID from a second based number, with the rest of the ObjectID zeroed out. Used for comparisons or sorting the ObjectID. // time – an integer number representing a number of seconds. static createFromTime(time: number): ObjectID; // Checks if a value is a valid bson ObjectId // id - Value to be checked static isValid(id: string | number): boolean; //Compares the equality of this ObjectID with otherID. equals(otherID: ObjectID): boolean; // Generate a 12 byte id string used in ObjectID's // time - optional parameter allowing to pass in a second based timestamp generate(time?: number): string; // Returns the generation date (accurate up to the second) that this ID was generated. getTimestamp(): Date; // Returns the ObjectID id as a 24 byte hex string representation toHexString(): string; } // Class documentation : http://mongodb.github.io/node-mongodb-native/2.1/api/Binary.html export class Binary { constructor(buffer: Buffer, subType?: number); static SUBTYPE_BYTE_ARRAY: number; static SUBTYPE_DEFAULT: number; static SUBTYPE_FUNCTION: number; static SUBTYPE_MD5: number; static SUBTYPE_USER_DEFINED: number; static SUBTYPE_UUID: number; static SUBTYPE_UUID_OLD: number; // The length of the binary. length(): number; // Updates this binary with byte_value put(byte_value: number | string): void; // Reads length bytes starting at position. read(position: number, length: number): Buffer; // Returns the value of this binary as a string. value(): string; // Writes a buffer or string to the binary write(buffer: Buffer | string, offset: number): void; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Double.html export class Double { constructor(value: number); valueOf(): number; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Long.html export class Long { constructor(low: number, high: number); static MAX_VALUE: Long; static MIN_VALUE: Long; static NEG_ONE: Long; static ONE: Long; static ZERO: Long; static fromBits(lowBits: number, highBits: number): Long; static fromInt(value: number): Long; static fromNumber(value: number): Long; static fromString(str: string, radix?: number): Long; add(other: Long): Long; and(other: Long): Long; compare(other: Long): number; div(other: Long): Long; equals(other: Long): boolean; getHighBits(): number; getLowBits(): number; getLowBitsUnsigned(): number; getNumBitsAbs(): number; greaterThan(other: Long): number; greaterThanOrEqual(other: Long): number; isNegative(): boolean; isOdd(): boolean; isZero(): boolean; lessThan(other: Long): boolean; lessThanOrEqual(other: Long): boolean; modulo(other: Long): Long; multiply(other: Long): Long; negate(): Long; not(): Long; notEquals(other: Long): boolean; or(other: Long): Long; shiftLeft(other: number): Long; shiftRight(other: number): Long; shiftRightUnsigned(other: number): Long; subtract(other: Long): Long; toInt(): number; toJSON(): string; toNumber(): number; toString(radix?: number): string; xor(other: Long): Long; } //http://mongodb.github.io/node-mongodb-native/2.1/api/MaxKey.html export class MaxKey { } //http://mongodb.github.io/node-mongodb-native/2.1/api/MinKey.html export class MinKey { } //http://mongodb.github.io/node-mongodb-native/2.1/api/Timestamp.html export class Timestamp { constructor(low: number, high: number); static MAX_VALUE: Timestamp; static MIN_VALUE: Timestamp; static NEG_ONE: Timestamp; static ONE: Timestamp; static ZERO: Timestamp; static fromBits(lowBits: number, highBits: number): Timestamp; static fromInt(value: number): Timestamp; static fromNumber(value: number): Timestamp; static fromString(str: string, radix?: number): Timestamp; add(other: Timestamp): Timestamp; and(other: Timestamp): Timestamp; compare(other: Timestamp): number; div(other: Timestamp): Timestamp; equals(other: Timestamp): boolean; getHighBits(): number; getLowBits(): number; getLowBitsUnsigned(): number; getNumBitsAbs(): number; greaterThan(other: Timestamp): number; greaterThanOrEqual(other: Timestamp): number; isNegative(): boolean; isOdd(): boolean; isZero(): boolean; lessThan(other: Timestamp): boolean; lessThanOrEqual(other: Timestamp): boolean; modulo(other: Timestamp): Timestamp; multiply(other: Timestamp): Timestamp; negate(): Timestamp; not(): Timestamp; notEquals(other: Timestamp): boolean; or(other: Timestamp): Timestamp; shiftLeft(other: number): Timestamp; shiftRight(other: number): Timestamp; shiftRightUnsigned(other: number): Timestamp; subtract(other: Timestamp): Timestamp; toInt(): number; toJSON(): string; toNumber(): number; toString(radix?: number): string; xor(other: Timestamp): Timestamp; } // Documentation : http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html export interface Collection { // Get the collection name. collectionName: string; // Get the full collection namespace. namespace: string; // The current write concern values. writeConcern: any; // The current read concern values. readConcern: any; // Get current index hint for collection. hint: any; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#aggregate aggregate(pipeline: Object[], callback: MongoCallback<any>): AggregationCursor; aggregate(pipeline: Object[], options?: CollectionAggregationOptions, callback?: MongoCallback<any>): AggregationCursor; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#bulkWrite bulkWrite(operations: Object[], callback: MongoCallback<BulkWriteOpResultObject>): void; bulkWrite(operations: Object[], options?: CollectionBluckWriteOptions): Promise<BulkWriteOpResultObject>; bulkWrite(operations: Object[], options: CollectionBluckWriteOptions, callback: MongoCallback<BulkWriteOpResultObject>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#count count(query: Object, callback: MongoCallback<number>): void; count(query: Object, options?: MongoCountPreferences): Promise<number>; count(query: Object, options: MongoCountPreferences, callback: MongoCallback<number>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#createIndex createIndex(fieldOrSpec: string | any, callback: MongoCallback<string>): void; createIndex(fieldOrSpec: string | any, options?: IndexOptions): Promise<string>; createIndex(fieldOrSpec: string | any, options: IndexOptions, callback: MongoCallback<string>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#createIndexes and http://docs.mongodb.org/manual/reference/command/createIndexes/ createIndexes(indexSpecs: Object[]): Promise<any>; createIndexes(indexSpecs: Object[], callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#deleteMany deleteMany(filter: Object, callback: MongoCallback<DeleteWriteOpResultObject>): void; deleteMany(filter: Object, options?: CollectionOptions): Promise<DeleteWriteOpResultObject>; deleteMany(filter: Object, options: CollectionOptions, callback: MongoCallback<DeleteWriteOpResultObject>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#deleteOne deleteOne(filter: Object, callback: MongoCallback<DeleteWriteOpResultObject>): void; deleteOne(filter: Object, options?: { w?: number | string, wtimmeout?: number, j?: boolean, bypassDocumentValidation?: boolean }): Promise<DeleteWriteOpResultObject>; deleteOne(filter: Object, options: { w?: number | string, wtimmeout?: number, j?: boolean, bypassDocumentValidation?: boolean }, callback: MongoCallback<DeleteWriteOpResultObject>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#distinct distinct(key: string, query: Object, callback: MongoCallback<any>): void; distinct(key: string, query: Object, options?: { readPreference?: ReadPreference | string }): Promise<any>; distinct(key: string, query: Object, options: { readPreference?: ReadPreference | string }, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#drop drop(): Promise<any>; drop(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#dropIndex dropIndex(indexName: string, callback: MongoCallback<any>): void; dropIndex(indexName: string, options?: CollectionOptions): Promise<any>; dropIndex(indexName: string, options: CollectionOptions, callback: MongoCallback<any>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#dropIndexes dropIndexes(): Promise<any>; dropIndexes(callback?: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#find find(query?: Object): Cursor; /** @deprecated */ find(query: Object, fields?: Object, skip?: number, limit?: number, timeout?: number): Cursor; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOne /** @deprecated use find().limit(1).next(function(err, doc){}) */ findOne(filter: Object, callback: MongoCallback<any>): void; /** @deprecated use find().limit(1).next(function(err, doc){}) */ findOne(filter: Object, options?: FindOneOptions): Promise<any>; /** @deprecated use find().limit(1).next(function(err, doc){}) */ findOne(filter: Object, options: FindOneOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOneAndDelete findOneAndDelete(filter: Object, callback: MongoCallback<FindAndModifyWriteOpResultObject>): void; findOneAndDelete(filter: Object, options?: { projection?: Object, sort?: Object, maxTimeMS?: number }): Promise<FindAndModifyWriteOpResultObject>; findOneAndDelete(filter: Object, options: { projection?: Object, sort?: Object, maxTimeMS?: number }, callback: MongoCallback<FindAndModifyWriteOpResultObject>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOneAndReplace findOneAndReplace(filter: Object, replacement: Object, callback: MongoCallback<FindAndModifyWriteOpResultObject>): void; findOneAndReplace(filter: Object, replacement: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject>; findOneAndReplace(filter: Object, replacement: Object, options: FindOneAndReplaceOption, callback: MongoCallback<FindAndModifyWriteOpResultObject>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOneAndUpdate findOneAndUpdate(filter: Object, update: Object, callback: MongoCallback<FindAndModifyWriteOpResultObject>): void; findOneAndUpdate(filter: Object, update: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject>; findOneAndUpdate(filter: Object, update: Object, options: FindOneAndReplaceOption, callback: MongoCallback<FindAndModifyWriteOpResultObject>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#geoHaystackSearch geoHaystackSearch(x: number, y: number, callback: MongoCallback<any>): void; geoHaystackSearch(x: number, y: number, options?: GeoHaystackSearchOptions): Promise<any>; geoHaystackSearch(x: number, y: number, options: GeoHaystackSearchOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#geoNear geoNear(x: number, y: number, callback: MongoCallback<any>): void; geoNear(x: number, y: number, options?: GeoNearOptions): Promise<any>; geoNear(x: number, y: number, options: GeoNearOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#group group(keys: Object | Array<any> | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, callback: MongoCallback<any>): void; group(keys: Object | Array<any> | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, options?: { readPreference?: ReadPreference | string }): Promise<any>; group(keys: Object | Array<any> | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, options: { readPreference?: ReadPreference | string }, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#indexes indexes(): Promise<any>; indexes(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#indexExists indexExists(indexes: string | string[]): Promise<boolean>; indexExists(indexes: string | string[], callback: MongoCallback<boolean>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#indexInformation indexInformation(callback: MongoCallback<any>): void; indexInformation(options?: { full: boolean }): Promise<any>; indexInformation(options: { full: boolean }, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#initializeOrderedBulkOp initializeOrderedBulkOp(options?: CollectionOptions): OrderedBulkOperation; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#initializeUnorderedBulkOp initializeUnorderedBulkOp(options?: CollectionOptions): UnorderedBulkOperation; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#insertOne /** @deprecated Use insertOne, insertMany or bulkWrite */ insert(docs: Object, callback: MongoCallback<InsertOneWriteOpResult>): void; /** @deprecated Use insertOne, insertMany or bulkWrite */ insert(docs: Object, options?: CollectionInsertOneOptions): Promise<InsertOneWriteOpResult>; /** @deprecated Use insertOne, insertMany or bulkWrite */ insert(docs: Object, options: CollectionInsertOneOptions, callback: MongoCallback<InsertOneWriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#insertMany insertMany(docs: Object[], callback: MongoCallback<InsertWriteOpResult>): void; insertMany(docs: Object[], options?: CollectionInsertManyOptions): Promise<InsertWriteOpResult>; insertMany(docs: Object[], options: CollectionInsertManyOptions, callback: MongoCallback<InsertWriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#insertOne insertOne(docs: Object, callback: MongoCallback<InsertOneWriteOpResult>): void; insertOne(docs: Object, options?: CollectionInsertOneOptions): Promise<InsertOneWriteOpResult>; insertOne(docs: Object, options: CollectionInsertOneOptions, callback: MongoCallback<InsertOneWriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#isCapped isCapped(): Promise<any>; isCapped(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#listIndexes listIndexes(options?: { batchSize?: number, readPreference?: ReadPreference | string }): CommandCursor; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#mapReduce mapReduce(map: Function | string, reduce: Function | string, callback: MongoCallback<any>): void; mapReduce(map: Function | string, reduce: Function | string, options?: MapReduceOptions): Promise<any>; mapReduce(map: Function | string, reduce: Function | string, options: MapReduceOptions, callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#options options(): Promise<any>; options(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#parallelCollectionScan parallelCollectionScan(callback: MongoCallback<Cursor[]>): void; parallelCollectionScan(options?: ParallelCollectionScanOptions): Promise<Cursor[]>; parallelCollectionScan(options: ParallelCollectionScanOptions, callback: MongoCallback<Cursor[]>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#reIndex reIndex(): Promise<any>; reIndex(callback: MongoCallback<any>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#remove /** @deprecated Use use deleteOne, deleteMany or bulkWrite */ remove(selector: Object, callback: MongoCallback<WriteOpResult>): void; /** @deprecated Use use deleteOne, deleteMany or bulkWrite */ remove(selector: Object, options?: CollectionOptions & { single?: boolean }): Promise<WriteOpResult>; /** @deprecated Use use deleteOne, deleteMany or bulkWrite */ remove(selector: Object, options?: CollectionOptions & { single?: boolean }, callback?: MongoCallback<WriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#rename rename(newName: string, callback: MongoCallback<Collection>): void; rename(newName: string, options?: { dropTarget?: boolean }): Promise<Collection>; rename(newName: string, options: { dropTarget?: boolean }, callback: MongoCallback<Collection>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#replaceOne replaceOne(filter: Object, doc: Object, callback: MongoCallback<UpdateWriteOpResult>): void; replaceOne(filter: Object, doc: Object, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult>; replaceOne(filter: Object, doc: Object, options: ReplaceOneOptions, callback: MongoCallback<UpdateWriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#save /** @deprecated Use insertOne, insertMany, updateOne or updateMany */ save(doc: Object, callback: MongoCallback<WriteOpResult>): void; /** @deprecated Use insertOne, insertMany, updateOne or updateMany */ save(doc: Object, options?: CollectionOptions): Promise<WriteOpResult>; /** @deprecated Use insertOne, insertMany, updateOne or updateMany */ save(doc: Object, options: CollectionOptions, callback: MongoCallback<WriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#stats stats(callback: MongoCallback<CollStats>): void; stats(options?: { scale: number }): Promise<CollStats>; stats(options: { scale: number }, callback: MongoCallback<CollStats>): void; // http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#update /** @deprecated use updateOne, updateMany or bulkWrite */ update(filter: Object, update: Object, callback: MongoCallback<WriteOpResult>): void; /** @deprecated use updateOne, updateMany or bulkWrite */ update(filter: Object, update: Object, options?: ReplaceOneOptions & { multi?: boolean }): Promise<WriteOpResult>; /** @deprecated use updateOne, updateMany or bulkWrite */ update(filter: Object, update: Object, options: ReplaceOneOptions & { multi?: boolean }, callback: MongoCallback<WriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#updateMany updateMany(filter: Object, update: Object, callback: MongoCallback<UpdateWriteOpResult>): void; updateMany(filter: Object, update: Object, options?: { upsert?: boolean; w?: any; wtimeout?: number; j?: boolean; }): Promise<UpdateWriteOpResult>; updateMany(filter: Object, update: Object, options: { upsert?: boolean; w?: any; wtimeout?: number; j?: boolean; }, callback: MongoCallback<UpdateWriteOpResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#updateOne updateOne(filter: Object, update: Object, callback: MongoCallback<UpdateWriteOpResult>): void; updateOne(filter: Object, update: Object, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult>; updateOne(filter: Object, update: Object, options: ReplaceOneOptions, callback: MongoCallback<UpdateWriteOpResult>): void; } // Documentation: http://docs.mongodb.org/manual/reference/command/collStats/ //TODO complete this export interface CollStats { // Namespace. ns: string; // Number of documents. count: number; // Collection size in bytes. size: number; // Average object size in bytes. avgObjSize: number; // (Pre)allocated space for the collection in bytes. storageSize: number; // Number of extents (contiguously allocated chunks of datafile space). numExtents: number; // Number of indexes. nindexes: number; // Size of the most recently created extent in bytes. lastExtentSize: number; // Padding can speed up updates if documents grow. paddingFactor: number; userFlags: number; // Total index size in bytes. totalIndexSize: number; // Size of specific indexes in bytes. indexSizes: { _id_: number; username: number; }; capped: boolean; maxSize: boolean; wiredTiger: any; indexDetails: any; ok: number; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#aggregate export interface CollectionAggregationOptions { readPreference?: ReadPreference | string; // Return the query as cursor, on 2.6 > it returns as a real cursor // on pre 2.6 it returns as an emulated cursor. cursor?: { batchSize: number }; // Explain returns the aggregation execution plan (requires mongodb 2.6 >). explain?: boolean; // lets the server know if it can use disk to store // temporary results for the aggregation (requires mongodb 2.6 >). allowDiskUse?: boolean; // specifies a cumulative time limit in milliseconds for processing operations // on the cursor. MongoDB interrupts the operation at the earliest following interrupt point. maxTimeMS?: boolean; // Allow driver to bypass schema validation in MongoDB 3.2 or higher. bypassDocumentValidation?: boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#insertMany export interface CollectionInsertManyOptions { // The write concern. w?: number | string; // The write concern timeout. wtimeout?: number; // Specify a journal write concern. j?: boolean; // Serialize functions on any object. serializeFunctions?: boolean; //Force server to assign _id values instead of driver. forceServerObjectId?: boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#bulkWrite export interface CollectionBluckWriteOptions { // The write concern. w?: number | string; // The write concern timeout. wtimeout?: number; // Specify a journal write concern. j?: boolean; // Serialize functions on any object. serializeFunctions?: boolean; // Execute write operation in ordered or unordered fashion. ordered?: boolean; // Allow driver to bypass schema validation in MongoDB 3.2 or higher. bypassDocumentValidation?: boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#~BulkWriteOpResult export interface BulkWriteOpResultObject { insertedCount?: number; matchedCount?: number; modifiedCount?: number; deletedCount?: number; upsertedCount?: number; insertedIds?: any; upsertedIds?: any; result?: any; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#count export interface MongoCountPreferences { // The limit of documents to count. limit?: number; // The number of documents to skip for the count. skip?: boolean; // An index name hint for the query. hint?: string; // The preferred read preference readPreference?: ReadPreference | string; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#~deleteWriteOpResult export interface DeleteWriteOpResultObject { //The raw result returned from MongoDB, field will vary depending on server version. result: { //Is 1 if the command executed correctly. ok?: number; //The total count of documents deleted. n?: number; } //The connection object used for the operation. connection?: any; //The number of documents deleted. deletedCount?: number; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#~findAndModifyWriteOpResult export interface FindAndModifyWriteOpResultObject { //Document returned from findAndModify command. value?: any; //The raw lastErrorObject returned from the command. lastErrorObject?: any; //Is 1 if the command executed correctly. ok?: number; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOneAndReplace export interface FindOneAndReplaceOption { projection?: Object; sort?: Object; maxTimeMS?: number; upsert?: boolean; returnOriginal?: boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#geoHaystackSearch export interface GeoHaystackSearchOptions { readPreference?: ReadPreference | string; maxDistance?: number; search?: Object; limit?: number; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#geoNear export interface GeoNearOptions { readPreference?: ReadPreference | string; num?: number; minDistance?: number; maxDistance?: number; distanceMultiplier?: number; query?: Object; spherical?: boolean; uniqueDocs?: boolean; includeLocs?: boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Code.html export class Code { constructor(code: string | Function, scope?: Object) code: string | Function; scope: any; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#deleteMany export interface CollectionOptions { //The write concern. w?: number | string; //The write concern timeout. wtimeout?: number; //Specify a journal write concern. j?: boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/OrderedBulkOperation.html export interface OrderedBulkOperation { length: number; //http://mongodb.github.io/node-mongodb-native/2.1/api/OrderedBulkOperation.html#execute execute(callback: MongoCallback<BulkWriteResult>): void; execute(options?: FSyncOptions): Promise<BulkWriteResult>; execute(options: FSyncOptions, callback: MongoCallback<BulkWriteResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/OrderedBulkOperation.html#find find(selector: Object): FindOperatorsOrdered; //http://mongodb.github.io/node-mongodb-native/2.1/api/OrderedBulkOperation.html#insert insert(doc: Object): OrderedBulkOperation; } //http://mongodb.github.io/node-mongodb-native/2.1/api/BulkWriteResult.html export interface BulkWriteResult { ok: number; nInserted: number; nUpdated: number; nUpserted: number; nModified: number; nRemoved: number; getInsertedIds(): Array<Object>; getLastOp(): Object; getRawResponse(): Object; getUpsertedIdAt(index: number): Object; getUpsertedIds(): Array<Object>; getWriteConcernError(): WriteConcernError; getWriteErrorAt(index: number): WriteError; getWriteErrorCount(): number; getWriteErrors(): Array<Object>; hasWriteErrors(): boolean; } //http://mongodb.github.io/node-mongodb-native/2.1/api/WriteError.html export interface WriteError { //Write concern error code. code: number; //Write concern error original bulk operation index. index: number; //Write concern error message. errmsg: string; } //http://mongodb.github.io/node-mongodb-native/2.1/api/WriteConcernError.html export interface WriteConcernError { //Write concern error code. code: number; //Write concern error message. errmsg: string; } //http://mongodb.github.io/node-mongodb-native/2.1/api/FindOperatorsOrdered.html export interface FindOperatorsOrdered { delete(): OrderedBulkOperation; deleteOne(): OrderedBulkOperation; replaceOne(doc: Object): OrderedBulkOperation; update(doc: Object): OrderedBulkOperation; updateOne(doc: Object): OrderedBulkOperation; upsert(): FindOperatorsOrdered; } //http://mongodb.github.io/node-mongodb-native/2.1/api/UnorderedBulkOperation.html export interface UnorderedBulkOperation { //http://mongodb.github.io/node-mongodb-native/2.1/api/UnorderedBulkOperation.html#execute execute(callback: MongoCallback<BulkWriteResult>): void; execute(options?: FSyncOptions): Promise<BulkWriteResult>; execute(options: FSyncOptions, callback: MongoCallback<BulkWriteResult>): void; //http://mongodb.github.io/node-mongodb-native/2.1/api/UnorderedBulkOperation.html#find find(selector: Object): FindOperatorsUnordered; //http://mongodb.github.io/node-mongodb-native/2.1/api/UnorderedBulkOperation.html#insert insert(doc: Object): UnorderedBulkOperation; } //http://mongodb.github.io/node-mongodb-native/2.1/api/FindOperatorsUnordered.html export interface FindOperatorsUnordered { length: number; remove(): UnorderedBulkOperation; removeOne(): UnorderedBulkOperation; replaceOne(doc: Object): UnorderedBulkOperation; update(doc: Object): UnorderedBulkOperation; updateOne(doc: Object): UnorderedBulkOperation; upsert(): FindOperatorsUnordered; } //http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOne export interface FindOneOptions { limit?: number, sort?: Array<any> | Object, fields?: Object, skip?: number, hint?: Object, explain?: boolean, snapshot?: boolean, timeout?: boolean, tailable?: boolean, batchSize?: number, returnKey?: boolean, maxScan?: number, min?: number, max?: number, showDiskLoc?: boolean, comment?: string, raw