【问题标题】:Mongoose connection Db property is missing properties from Mongodb DB? Typescript errorMongoose 连接 Db 属性是否缺少 Mongodb DB 中的属性?打字稿错误
【发布时间】:2021-11-13 10:11:21
【问题描述】:

我有以下设置。 Typescript 和 Node,以及 Mongoose 和 Typegoose 的组合用于模型。这就是我获取数据库的方式

import mongoose from "mongoose";
import { Db } from "mongodb";
import config from "@/config";

export default async (): Promise<Db> => {
  const connection = await mongoose.connect(config.databaseUrl, {
    useNewUrlParser: true,
    useCreateIndex: true,
    useUnifiedTopology: true,
    useFindAndModify: false,
  });
  return connection.connection.db;
};

这是我得到的错误

Type 'Db' is missing the following properties from type 'Db': readConcern, readPreference, bsonOptions, namespace, and 4 more.

在更新依赖关系的某个地方,这部分搞砸了,这很奇怪,因为 connection.db 的类型是 Mongodb.Db...

这些是我的版本

 "dependencies": {
        "@typegoose/typegoose": "8.3.0",
        "@types/mongodb": "3.6.5",
        "mongodb": "4.1.2",
        "mongoose": "5.13.8", 
    },
    "devDependencies": {
        "tsconfig-paths": "^3.11.0",
        "typescript": "4.1.3"
    }

Typegoose 要求我使用 5.13.8 版本(而我之前使用的是 5.12 版本),这似乎破坏了一切。

【问题讨论】:

    标签: node.js typescript mongodb npm mongoose


    【解决方案1】:

    这个问题也在discord上被提出来讨论过,答案是:

    在项目中安装了mongodb@4.1.x,而mongoose@5.13.x仅支持(和使用)mongodb@3.6.x(和@ŧypes/mongodb@3.6.x),因此类型不兼容。

    【讨论】:

      猜你喜欢
      • 2021-09-23
      • 2017-12-22
      • 2021-04-29
      • 2013-09-17
      • 2022-01-17
      • 2019-05-02
      • 2023-02-07
      • 1970-01-01
      • 2017-11-18
      相关资源
      最近更新 更多