type params for methods

This commit is contained in:
Erik 2023-05-15 15:06:46 +03:00
parent 37a54d9932
commit c0eae8be4b
Signed by: Navy.gif
GPG Key ID: 2532FBBB61C65A68

View File

@ -301,7 +301,7 @@ class MongoDB {
* @returns {object} * @returns {object}
* @memberof Database * @memberof Database
*/ */
random (db: string, filter: Document = {}, amount = 1) { random<T extends Document> (db: string, filter: Document = {}, amount = 1) {
if (!this.#db) if (!this.#db)
throw new Error(`MongoDB not connected`); throw new Error(`MongoDB not connected`);
@ -315,7 +315,7 @@ class MongoDB {
if (amount > 100) if (amount > 100)
amount = 100; amount = 100;
const cursor = this.#db.collection(db).aggregate([{ $match: filter }, { $sample: { size: amount } }]); const cursor = this.#db.collection(db).aggregate<T>([{ $match: filter }, { $sample: { size: amount } }]);
return cursor.toArray(); return cursor.toArray();
} }
@ -327,10 +327,10 @@ class MongoDB {
return result; return result;
} }
collection (coll: string) { collection<T extends Document> (coll: string) {
if (!this.#db) if (!this.#db)
throw new Error(`MongoDB not connected`); throw new Error(`MongoDB not connected`);
return this.#db.collection(coll); return this.#db.collection<T>(coll);
} }
count (coll: string, query: Document) { count (coll: string, query: Document) {