我正在开发一个带有nodejs/typescript和mongodb数据库的应用程序。 要查询数据库,我正在使用mongoose。与蓝鸟和打字稿的猫鼬承诺
我刚读从猫鼬文档一篇关于how to plug in an external promise library,这是非常简单的:
import mongoose = require("mongoose");
import Promise = require("bluebird");
mongoose.Promise = Promise;
这样做是工作的罚款。但是我想扩展/覆盖返回的承诺的类型。
这里是一个函数的例子:
public getModel=() => {
return MyModel.findOne().exec();
}
这个函数返回一个_mongoose.Promise<MyModel>
,我想返回蓝鸟Promise<MyModel>
,因为我知道这是一个蓝鸟承诺。
是否有更改/扩展/重写返回类型的猫鼬查询? 我应该为我的应用程序编写自定义定义文件吗?任何其他建议,将不胜感激。
谢谢!
你从哪里得到猫鼬的打字?通过'typings install mongoose'安装的[.d.ts文件](https://github.com/louy/typed-mongoose)没有对MongoosePromise的引用 – Jthorpe
发布更新:是的我从'typings install mongoose '。我使用的是打字稿1.9,但我知道现在打字带有npm。也取决于猫鼬版本。这里是最新版本:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/4869992bc079b88280b9ff91213528904109e8ae/mongoose/README.md – Thomas