开发者问题收集

类型错误:无法读取 null 的属性“dbName”

2019-10-17
823

我尝试将我的 Loopback 应用程序与 MongoDb Atlas 连接起来,但出现错误“TypeError:无法读取 null 的属性‘dbName’”。

以下是我尝试过的方法:

  1. 运行 lb 数据源
  2. 填写所有必需的信息
  3. 生成此 javascript 对象:
{
  "db": {
    "name": "db",
    "connector": "mongodb"
  },
  "mongodb": {
    "host": "",
    "port": 0,
    "url": "mongodb+srv://USER:[email protected]/test?retryWrites=true&w=majority",
    "database": "DATABASENAME",
    "password": "PASSWORD",
    "name": "mongodb",
    "user": "dbAdmin",
    "useNewUrlParser": true,
    "connector": "mongodb"
  }
}
  1. 每次尝试运行“node ”时。 ,获取 TypeError:无法读取 null 的属性“dbName”

  2. 我已将我的 IP 添加到白名单 IP(MongoDB 图集)

  3. 下面是我的 model.config.json

{
  "_meta": {
    "sources": [
      "loopback/common/models",
      "loopback/server/models",
      "../common/models",
      "./models"
    ],
    "mixins": [
      "loopback/common/mixins",
      "loopback/server/mixins",
      "../common/mixins",
      "./mixins"
    ]
  },
  "User": {
    "dataSource": "mongodb"
  },
  "AccessToken": {
    "dataSource": "mongodb",
    "public": false
  },
  "ACL": {
    "dataSource": "mongodb",
    "public": false
  },
  "RoleMapping": {
    "dataSource": "mongodb",
    "public": false,
    "options": {
      "strictObjectIDCoercion": true
    }
  },
  "Role": {
    "dataSource": "mongodb",
    "public": false
  }
}

PS:我正在使用 loopback 3x

2个回答

我发现将属性 "useNewUrlParser": true 设置为 false 可以解决我的问题。但仍然不知道为什么这是根本原因。

Tester v6 engine
2019-10-17

如果您使用的是旧版 mongodb,请不要在密码中输入特殊字符

Bilal Khursheed
2022-09-06