猫鼬承诺与蓝鸟和打字稿

2023-12-21

我正在使用 nodejs/typescript 和 mongodb 数据库开发一个应用程序。 为了查询数据库,我正在使用mongoose http://mongoosejs.com/index.html.

我刚刚读过 mongoose 文档中的一篇文章如何插入外部 Promise 库 http://mongoosejs.com/docs/promises.html这很简单:

import mongoose = require("mongoose");
import Promise = require("bluebird");
mongoose.Promise = Promise;

这样做效果很好。但我想扩展/覆盖返回的承诺的类型。

这是一个函数的示例:

public getModel= () => {
    return MyModel.findOne().exec();
}

该函数返回一个_mongoose.Promise<MyModel>我想归还一只蓝知更鸟Promise<MyModel>因为我知道这是蓝鸟的承诺。

是否有办法更改/扩展/覆盖猫鼬查询的返回类型? 我应该为我的应用程序编写自定义定义文件吗?任何其他建议将不胜感激。

Thanks !


Promise导出为猫鼬中的变量,这样你就可以转换mongoose首先命名空间为任意,然后设置Promise给其他人。

  1. if you are using q lib.
    • install npm install --save q @types/q first. tsc版本 >= 2.0。
    • 然后加(<any>mongoose).Promise = Q.Promise;
  2. using bluebird lib, add code below.
    • import Bluebird = require("bluebird");
    • (<any>mongoose).Promise = Bluebird;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

猫鼬承诺与蓝鸟和打字稿 的相关文章

随机推荐

  • 如何使用 DjangoRestFramework 序列化为多个模型

    我已经定义了一个用户配置文件模型 但希望有一个 api 端点将所有用户数据保存到两个模型中 我的意思是 我正在使用用户模型 并且我有一个定义如下的用户配置文件模型 class UserProfile models Model user mo
  • 在 Dockerfile 中安装 pandas

    我正在尝试创建一个 Docker 镜像 Dockerfile 如下 Use the official Python 3 6 5 image FROM python 3 6 5 alpine3 7 Set the working direct
  • ICommand 不会使用 CanExecute 更新按钮上的 IsEnabled

    我有一个非常简单的按钮绑定到命令
  • 子属性的选择性验证 - MVC 中的 Fluent Validation

    我将 Fluent Validation 与 Ninject Web Mvc FluentValidation 库结合使用来自动连接所有验证器 并使用依赖项注入来创建验证器 我创建了以下模型 public class Parent publ
  • Oracle空条件检查''条件

    我如何比较VARCHAR2变量 哪个是空值 Oracle 不区分空字符串和 NULL 要检查变量是否为空字符串 请使用IS NULL syntax
  • 使用 Docker-Compose 时,使用 JPDA 进行远程调试不会通过 eclipse 连接到 Tomcat

    我对 Docker 很陌生 所以这可能是我做错的一些简单的事情 有了所有的解决方案 当使用 Docker run 启动 Tomcat 容器时 我已经能够使用 eclipse 进行远程调试 docker run it rm e JPDA AD
  • Grails 项目 - Eclipse 中的常见 Java 项目依赖项

    All 我们有标准的 java 项目 其中包含通用数据模型 通用 util 类等 我似乎不明白如何使我的 Grails 项目 在 Eclipse 中 依赖于工作区中的其他标准 非 Grails java 项目 当我在 Java 构建路径 中
  • 如果您不解决或拒绝承诺会怎样?

    我有一个场景 我要返回一个承诺 Promise 基本上是由 ajax 请求触发的 拒绝承诺时 它会显示一个错误对话框 表明服务器存在错误 我想要做的是 当响应代码为 401 时 我既不想解析承诺 也不想拒绝它 因为它已经显示错误对话框 我只
  • 如何使用javascript创建上传进度条

    我使用 php 将文件上传到服务器 在客户端使用 HTML 和 javascript 我想创建一个确定的进度条 显示文件上传的进度 使用javascript 看待 新鲜的 许多图书馆之一 http github com drogus jqu
  • 按代号完全引用工作表

    当我使用 CodeName 属性引用 Excel 工作表时 如何完全限定它们 包括工作簿引用 我想防止出现打开两个不同工作簿且两张工作表具有相同 CodeName 的情况 我用ThisWorkbook因为我想引用运行代码的工作簿 我想象这样
  • Goroutine 是否与其通道一起被垃圾收集?

    想象一下下面的代码 func waitForOneOfTwoProcesses c make chan bool go func time Sleep 1 time Second c lt true go func time Sleep 2
  • 始终在 ASP.NET MVC 控制器中使用异步

    我最近继承了一个ASP NET MVC项目 在该项目中 开发人员正在使用async 到处 我正在尝试评估这是否是一个好主意 具体来说 我现在正在审查控制器代码 在控制器中 开发人员编写了如下内容 public async Task
  • 如何使用 C# 解码 JSON 字符串?

    我正在寻找示例代码 lib 来使用 C 解码 JSON 字符串 要编码我可以这样做 var data new Dictionary
  • 解析 PHP 中的类、函数和参数

    我想创建一个函数 它接收一个参数 该参数保存 PHP 文件的路径 然后解析给定的文件并返回如下所示的内容 class NameOfTheClass function Method1 arg1 arg2 arg2 private functi
  • sin 和 cos 是如何在硬件上实现的?

    我一直在研究如何计算正弦和余弦 我发现了一些 标准 方法 包括查找表 CORDIC 算法和泰勒级数 我还发现大多数现代处理器都有计算三角函数的汇编指令 我想知道的是这些命令是如何工作的 所以 我的问题是 当前一代处理器使用什么特定算法来计算
  • 有没有办法使用内置的苹果 API 在 mkmapview 中获取方向?

    我知道谷歌地图被认为是最好的地图 但我不想下载一堆额外的库之类的 我更喜欢做一些快速简单的事情来获得从 A 点到 B 点的快速路线并完成它 有没有办法使用内置函数 库来做到这一点 有人能指出我正确的方向吗 EDIT 我并不是想逐个轮流指示或
  • 如何从 Java 字符串中删除空字符 (\0)

    我知道 C 中的这段代码试图删除nul人物 0 来自字符串 string Join mText Split new string 0 StringSplitOptions None 有什么方法可以在 Java 中有效地做到这一点吗 你可以写
  • 对于大 n,java.lang.Math.pow(x, n) 的准确/精确度如何?

    我想计算一下 1 0 p n其中 p 是 0 到 1 之间的双精度值 通常非常接近 0 n 是一个正整数 可能约为数百或数千 可能更大 我还不确定 如果可能的话我想只使用Java的内置java lang Math pow 1 0 p n 为
  • PhantomjsDriver 无法在 Windows 和 Linux 上运行

    我有一个使用 Selenium Webdriver 从站点获取一些信息的应用程序 它在 FirefoxDriver 和 ChromeDriver 上工作得很好 但是当我尝试切换到 PhantomJSDriver 时 我遇到了一些困难 在 W
  • 猫鼬承诺与蓝鸟和打字稿

    我正在使用 nodejs typescript 和 mongodb 数据库开发一个应用程序 为了查询数据库 我正在使用mongoose http mongoosejs com index html 我刚刚读过 mongoose 文档中的一篇