UNPKG

mongo-seeding

Version:

The ultimate Node.js library for populating your MongoDB database.

70 lines (69 loc) 2.37 kB
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;