我如何使用打字稿扩展猫鼬查询?

时间:2019-05-19 10:43:43

标签: typescript express mongoose

我正在尝试使这段代码适合打字稿:https://github.com/kephin/Node_Redis-Caching/blob/master/services/cache.js ,但我无法扩展Query对象。

目前,在扩展声明时,它与我对express的合并方式相同,但在这种情况下,它不起作用

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

1 个答案:

答案 0 :(得分:0)

我设法使它像这样工作:

# mongoose.d.ts

type CacheOptions = { key?: string }

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