当前位置 : 主页 > 网页制作 > Nodejs >

Node.js / Mongoose / MongoDb Typescript MapReduce – emit()和Array.sum()方法

来源:互联网 收集:自由互联 发布时间:2021-06-16
我正在尝试使用MEAN堆栈和Typescript进行一个小小的项目,我似乎遇到了一个关于Typescript的问题,没有找到emit()和Array.sum()方法的类型. 这是我下面的代码…… let options: mongoose.ModelMapReduceOp
我正在尝试使用MEAN堆栈和Typescript进行一个小小的项目,我似乎遇到了一个关于Typescript的问题,没有找到emit()和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
};

我在NPM上使用打字包,并在我的项目中安装了mongodb以及mongoose包的类型.在这两种方法下有红色波浪形,但是当我跑步时应用程序运行正常.

是的,它正确地转换为有效的JavaScript.我只想知道是否有一个打字定义我缺少了Typescript来获取这两种方法?

您可以像这样声明emit函数

declare function emit(k, v);

然后使用非箭头函数(能够在map函数中使用“this”)

map: function map() {
    emit(this.customer, this.total);
}

据我所知,JS中不存在Array.sum.如果它是由库提供的,您可能需要安装该库的类型.

网友评论