Loopback - 无法使用来自 loopback 的 mongodb+srv 协议连接到 Mongo DB Atlas

Loopback - Unable to connect to Mongo DB Atlas using mongodb+srv Protocol from loopback

无法使用 mongodb+srv 协议连接到 Mongo DB Atlas。 在尝试查询一些数据时 - Mongo错误:无法在 atlas 中对 admin 进行原始查询

我在 datasource.json

中尝试的连接属性
mongoDb: {
connector: 'mongodb',
name: 'mongoDb',
url:"mongodb+srv://#username:#password@cluster0-kvw6a.mongodb.net/test?retryWrites=true&w=majority"
}

尝试查询某些数据时 - 出现此错误

Unhandled error for request GET /api/Customers/getProfile?access_token=cMGG6C8fB8el0vbchpAzeOoTpH0N7Kf9va4b5k9Z6GrNAwgh4AtqQKlRYOyiWtsB: MongoError: cannot do
raw queries on admin in atlas
at Function.MongoError.create (C:\Users\User\Documents\GitHub\maharah\customer_server\node_modules\mongodb-core\lib\error.js:31:11)
at queryCallback (C:\Users\User\Documents\GitHub\maharah\customer_server\node_modules\mongodb-core\lib\cursor.js:212:36)
at C:\Users\User\Documents\GitHub\maharah\customer_server\node_modules\mongodb-core\lib\connection\pool.js:469:18
at process._tickCallback (internal/process/next_tick.js:61:11)

我在 datasource.json

中尝试的连接属性
mongoDb: {
connector: 'mongodb',
name: 'mongoDb',
url:"mongodb+srv://#username:#password@cluster0-kvw6a.mongodb.net/test?
retryWrites=true&w=majority"
}

我们在今年 4 月改进了对 mongodb+srv 协议的支持,请参阅 PR #497。您需要使用 loopback-connector-mongodb 版本 4.2.0 或更高版本。

引用自README.md#using-the-mongodbsrv-protocol

MongoDB 支持一种称为 mongodb+srv 的协议,用于连接到副本集,而无需提供副本集中每个服务器的主机名。 要使用 mongodb+srv 作为协议,请将 datasource.json 中的 protocol 连接 属性 设置为 mongodb+srv。例如:

"mydb": {
  "host": "myserver",
  "database": "test",
  "protocol": "mongodb+srv",
  "connector": "mongodb"
}

注意:使用 mongodb+srv 协议时未指定端口,如果给出将被忽略。