【问题标题】:How to fix mongoose type issue with ObjectID?如何使用 ObjectID 修复猫鼬类型问题?
【发布时间】:2021-10-07 12:06:35
【问题描述】:

目前的行为是什么?

我在 docker 上构建节点应用程序时遇到问题。之前它运行良好,但自上周五(2021 年 7 月 30 日)以来,我遇到了 mongodb 的问题。在我的本地环境中构建应用程序很好。问题只是来自 docker build。

重现步骤。

我只是运行这个命令在 docker 上构建应用程序: docker-compose build && docker-compose up -d

docker-compose.yml

...
mongo:
    image: "mongo:4.2"
    ports:
      - "27017:27017"
    volumes:
      - ./data/mongo:/data/db
    restart: always
...

Dockerfile

FROM node:14
COPY . .
RUN npm install --production && npm run build
EXPOSE 3000
CMD ["npm", "start"]

tsbase.json

{
  "compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "declaration": true,
    "target": "ES2017"
  }
}

tsconfig.json

{
  "extends": "./tsbase",
  "compilerOptions": {
    "outDir": "./dst"
  },
  "include": [
    "src/**/*"
  ]
}

预期的行为是什么?

它应该在 docker 上构建良好。

您使用的 Node.js、Mongoose 和 MongoDB 的版本是什么?请注意,“最新”不是版本。

节点14

猫鼬^4.11.8

MongoDB 4.2

@types/猫鼬^4.7.21

我发现mongo:4.2 图像已于 6 天前在 docker hub 上更新。另外,我在Mac上

你能帮我解决这个错误吗?谢谢。

【问题讨论】:

  • 不幸的是,我没有任何具体的东西,但我之前也遇到过类似的问题,这是由于 mongoose 和 types/mongoose 之间的包版本不兼容(我认为是 types/mongoose?)。我唯一的建议是在解决问题之前使用软件包版本。
  • 猜这与这里不推荐使用的 mongo 类型有关 - 还没有解决它:npmjs.com/package/@types/mongodb

标签: node.js typescript mongodb docker mongoose


【解决方案1】:

我通过将@types/mongodb 添加到我的项目来解决了这个问题。

这里是link了解详情。

【讨论】:

    猜你喜欢
    • 2013-07-27
    • 2016-01-01
    • 2011-12-28
    • 2018-03-04
    • 2020-07-25
    • 2017-10-24
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多