无法使用mongodb + srv协议连接到Mongo DB Atlas。 在尝试查询一些数据时- MongoError:无法在Atlas中对管理员进行原始查询
我在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"
}
答案 0 :(得分:0)
我们已在今年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
协议时未指定端口,如果指定了端口,则将忽略该端口。