Búsqueda de sitios web

express - ¿Cómo puedo extender la consulta de mongoose con TypeScript?


Estoy tratando de adaptar este fragmento de código a TypeScript: https://github.com/kephin/Node_Redis-Caching/blob/master/services/cache.js, pero no soy capaz de extender el objeto Query.

Actualmente estoy extendiéndolo con la fusión de declaraciones de la misma manera que lo estoy haciendo con express, pero en este caso no funciona

declare namespace Mongoose {
  interface Query {
    cache: any;
  }

Respuesta #1

Logré hacerlo funcionar así:

mongoose.d.ts

type CacheOptions = { key?: string }

declare module 'mongoose' {
  interface DocumentQuery<T, DocType> {
    cache(options?: CacheOptions): Query<T>
    useCache: boolean
    hashKey: string
  }
}