BSON版本错误的问题,如何找出哪个pkg使用不正确

问题描述 投票:0回答:2

在apollo-server v4 graphql中,我尝试使用account-js-server分离用户登录和消息,但不幸的是我在登录时收到错误:BSONVersionError: Unsupported BSON version, bson types must be from bson 5.0 or later。是问题,mongodb还是account-js,想不出解决办法吗?

{
  "data": {
    "authenticate": null
  },
  "errors": [
    {
      "message": "Unsupported BSON version, bson types must be from bson 5.0 or later",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "authenticate"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "stacktrace": [
          "BSONVersionError: Unsupported BSON version, bson types must be from bson 5.0 or later",
          "    at serializeInto (/app/node_modules/bson/src/parser/serializer.ts:933:15)",
          "    at serializeObject (/app/node_modules/bson/src/parser/serializer.ts:305:20)",
          "    at serializeInto (/app/node_modules/bson/src/parser/serializer.ts:918:17)",
          "    at Object.serialize (/app/node_modules/bson/src/bson.ts:106:30)",
          "    at Msg.serializeBson (/app/node_modules/mongoose/node_modules/mongodb/src/cmap/commands.ts:570:17)",
          "    at Msg.makeDocumentSegment (/app/node_modules/mongoose/node_modules/mongodb/src/cmap/commands.ts:562:33)",
          "    at Msg.toBin (/app/node_modules/mongoose/node_modules/mongodb/src/cmap/commands.ts:548:25)",
          "    at MessageStream.writeCommand (/app/node_modules/mongoose/node_modules/mongodb/src/cmap/message_stream.ts:85:28)",
          "    at write (/app/node_modules/mongoose/node_modules/mongodb/src/cmap/connection.ts:731:26)",
          "    at Connection.command (/app/node_modules/mongoose/node_modules/mongodb/src/cmap/connection.ts:537:7)"
        ]
      }
    }
  ]
}

package.json

{
  "name": "server",
  "private": true,
  "license": "MIT",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon --exec node --loader ts-node/esm ./src/index.ts",
    "eslint:fix": "eslint --fix"
  },
  "dependencies": {
    "@accounts/graphql-api": "^0.33.2",
    "@accounts/magic-link": "^0.1.1",
    "@accounts/mongo": "^0.34.0",
    "@accounts/password": "^0.32.2",
    "@accounts/server": "^0.33.1",
    "@apollo/server": "^4.6.0",
    "@graphql-modules/core": "^0.7.17",
    "@graphql-toolkit/schema-merging": "^0.10.7",
    "bson": "^5.2.0",
    "dotenv": "^16.0.3",
    "express": "^4.18.2",
    "graphql": "^16.6.0",
    "jsonwebtoken": "^9.0.0",
    "mongo": "^0.1.0",
    "mongoose": "^7.0.3",
    "nodemailer": "^6.9.1"
  },
  "devDependencies": {
    "@graphql-codegen/cli": "^3.3.0",
    "@graphql-codegen/typescript": "^3.0.3",
    "@graphql-codegen/typescript-resolvers": "^3.2.0",
    "@graphql-tools/load-files": "^6.6.1",
    "@graphql-tools/merge": "^8.4.0",
    "@types/express": "^4.17.17",
    "@types/mongodb": "^4.0.7",
    "@types/node": "^18.15.11",
    "@typescript-eslint/eslint-plugin": "^5.57.1",
    "@typescript-eslint/parser": "^5.57.1",
    "eslint": "^8.37.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-sort-destructure-keys": "^1.5.0",
    "nodemon": "^2.0.22",
    "prettier": "^2.8.7",
    "ts-node": "^10.9.1",
    "ts-node-dev": "^2.0.0",
    "typescript": "^5.0.3"
  }
}

我将mongodb版本从6降级到5,安装了最新版本的pkg bson。寻找可能的解决方案。

我希望它能让我登录到我的测试 graphql 服务器

mongodb graphql node-modules apollo-server
2个回答
1
投票

似乎与这个问题类似。 我的解决方法 - 降级软件包:

pnpm add mongoose@^6 mongodb@^4

0
投票

无错误的初始状态:

mongoose 6
mongodb  5
bson     6

将 Mongoose 从

6
升级到
7
后出现错误。

我修复了再次将 Mongoose 升级到

8
并将 MongoDB 升级到
6

我的软件包的确切版本:

    "mongodb": "^6.3.0",
    "bson": "^6.2.0",
    "mongoose": "^8.0.3",
© www.soinside.com 2019 - 2024. All rights reserved.