mongo-seeding
Version:
The ultimate Node.js library for populating your MongoDB database.
70 lines (69 loc) • 2.37 kB
TypeScript
import { Db, MongoClient, BulkWriteOptions } from 'mongodb';
import { DeepPartial, LogFn } from '../common';
import { SeederDatabaseConfigObject } from '../config';
import { ConnectionString } from 'connection-string';
/**
* Provides functionality for managing documents, collections in database.
*/
export declare class Database {
/**
* MongoDB database object
*/
db: Db;
/**
* MongoDB Client.
*/
client?: MongoClient;
/**
* Logger instance
*/
log: LogFn;
/**
* Constructs a new `Database` object.
*
* @param mongoClient MongoDB Client
* @param log Optional logger
*/
constructor(mongoClient: MongoClient, log?: LogFn);
/**
* Inserts documents into a given collection.
*
* @param documentsToInsert Array of documents, which are being imported
* @param collectionName Collection name
* @param bulkWriteOptions Optional collection import options
*/
insertDocumentsIntoCollection(documentsToInsert: object[], collectionName: string, bulkWriteOptions?: BulkWriteOptions): Promise<import("mongodb").InsertManyResult<import("bson").Document>>;
/**
* Drops database.
*/
drop(): Promise<boolean>;
/**
* Checks if a given collection exist.
*
* @param collectionName Collection name
*/
ifCollectionExist(collectionName: string): Promise<boolean>;
/**
* Drops a given collection if exists.
*
* @param collectionName Collection name
*/
dropCollectionIfExists(collectionName: string): Promise<boolean | undefined>;
/**
* Remove all documents from a given collection
* if it exists.
*
* @param collectionName Collection name
*/
removeAllDocumentsIfCollectionExists(collectionName: string): Promise<import("mongodb").DeleteResult | undefined>;
/**
* Closes connection with database.
*/
closeConnection(): Promise<void>;
}
/**
* Parses a database config object or a connection URI into a ConnectionString.
* @param input The database config object or connection URI to parse.
* @param mergeWithDefaults Whether to merge the parsed config with default values.
*/
export declare function parseSeederDatabaseConfig(input?: string | DeepPartial<SeederDatabaseConfigObject>, disableMergingWithDefaults?: boolean): ConnectionString;