UNPKG

y-mongodb-provider

Version:
81 lines 3.63 kB
export class MongoAdapter { /** * Create a MongoAdapter instance. * @param {string|{client: MongoClient, db: import('mongodb').Db}} dbConnection A MongoDB connection string or an object containing a MongoClient instance (`client`) and a database instance (`db`). * @param {object} opts * @param {string} opts.collection Name of the collection where all documents are stored. * @param {boolean} opts.multipleCollections When set to true, each document gets an own * collection (instead of all documents stored in the same one). * When set to true, the option $collection gets ignored. */ constructor(dbConnection: string | { client: MongoClient; db: import("mongodb").Db; }, { collection, multipleCollections }: { collection: string; multipleCollections: boolean; }); collection: string; multipleCollections: boolean; client: MongoClient; db: import("mongodb").Db; /** * Get the MongoDB collection name for any docName * @param {import('mongodb').Filter<import('mongodb').Document>} query * @returns {string} collectionName */ _getCollectionName({ docName }: import("mongodb").Filter<import("mongodb").Document>): string; /** * * @param {import('mongodb').Filter<import('mongodb').Document>} query * @param {{limit?: number; reverse?: boolean;}} [options] * @returns {Promise<import('mongodb').WithId<import('mongodb').Document>[]>} */ find(query: import("mongodb").Filter<import("mongodb").Document>, options?: { limit?: number; reverse?: boolean; }): Promise<import("mongodb").WithId<import("mongodb").Document>[]>; /** * Apply a $query and get one document from MongoDB. * @param {import('mongodb').Filter<import('mongodb').Document>} query * @param {{limit?: number; reverse?: boolean;}} [options] * @returns {Promise<import('mongodb').WithId<import('mongodb').Document> | null>} */ findOne(query: import("mongodb").Filter<import("mongodb").Document>, options?: { limit?: number; reverse?: boolean; }): Promise<import("mongodb").WithId<import("mongodb").Document> | null>; /** * Store one document in MongoDB. * @param {import('mongodb').Filter<import('mongodb').Document>} query * @param {import('mongodb').UpdateFilter<import('mongodb').Document>} values * @returns {Promise<import('mongodb').WithId<import('mongodb').Document> | null>} Stored document */ put(query: import("mongodb").Filter<import("mongodb").Document>, values: import("mongodb").UpdateFilter<import("mongodb").Document>): Promise<import("mongodb").WithId<import("mongodb").Document> | null>; /** * Removes all documents that fit the $query * @param {import('mongodb').Filter<import('mongodb').Document>} query * @returns {Promise<import('mongodb').BulkWriteResult>} Contains status of the operation */ delete(query: import("mongodb").Filter<import("mongodb").Document>): Promise<import("mongodb").BulkWriteResult>; /** * Close connection to MongoDB instance. */ close(): Promise<void>; /** * Get all collection names stored on the MongoDB instance. * @returns {Promise<string[]>} */ getCollectionNames(): Promise<string[]>; /** * Delete database */ flush(): Promise<void>; /** * Delete collection * @param {string} collectionName */ dropCollection(collectionName: string): Promise<boolean>; } import { MongoClient } from 'mongodb'; //# sourceMappingURL=mongo-adapter.d.ts.map