Я разрабатываю приложение с nodejs/typescript и базу данных mongodb. Чтобы запросить базу данных, я использую mongoose.Mongoose Promise с bluebird и машинописным текстом
Я только что прочитал статью из документации мангустов на 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>
, и я хотел бы вернуть Bluebird Promise<MyModel>
, потому что я знаю, что это Блюбердо обещание.
Есть ли способ изменить/расширить/переопределить возвращаемый тип запроса мангуста? Должен ли я написать файл пользовательского определения для моего приложения? Любые другие предложения будут оценены.
Спасибо!
, где вы получили типизацию для мангуста? Файл [.d.ts] (https://github.com/louy/typed-mongoose), установленный с помощью 'typings install mongoose', не имеет ссылки на MongoosePromise – Jthorpe
Сообщение обновлено: Да, я получил типизацию из' typings install mongoose '. Я использовал машинопись 1.9, но я знаю, что теперь типизация идет с npm. также зависит от версии мангуста. вот последняя версия: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/4869992bc079b88280b9ff91213528904109e8ae/mongoose/README.md – Thomas