Node.js / Mongoose / MongoDb Typescript MapReduce-发出()和Array.sum()方法

Ric*_*ann 5 mongoose mongodb node.js typescript

我正在尝试使用MEAN堆栈和Typescript进行一些辅助项目,但似乎遇到了一个问题,即Typescript无法选择emit()and和Array.sum()方法的类型。

这是我的下面的代码...

let options: mongoose.ModelMapReduceOption<IInvoice, any, any> = {
    map: () => {
        emit(this.customer, this.total);
    },
    reduce: (key, values) => {
        return Array.sum(values);
    },
    out: { replace: "map_reduce_customers" },
    verbose: true
};
Run Code Online (Sandbox Code Playgroud)

我在NPM上使用了types包,并在我的项目中安装了mongodbmongoose包的类型。在这两种方法下都有红色弯曲,但运行该应用程序时效果很好。

是的,它已正确地转换为有效的JavaScript。我只想知道是否缺少供Typescript使用这两种方法的键入定义?

Alo*_*lon -1

我只是想知道 Typescript 是否缺少一个类型定义来识别这两种方法?

就在这里。您必须添加脚本引用。将以下内容添加到文件顶部(只需将其修复到项目中的正确路径即可):

///<reference path="../typings/modules/mongodb/index.d.ts" />
///<reference path="../typings/modules/mongoose/index.d.ts" />
Run Code Online (Sandbox Code Playgroud)