VOMongoRepository 无法使用用户凭据 (Pharo/Voyage) 连接到 MongoDB 副本集
VOMongoRepository fails to connect to MongoDB replicaset with user credentials (Pharo/Voyage)
我正在尝试将根对象 (MyDocument) 保存到启用身份验证的 mongoDB 和一个由 3 个节点组成的 ReplicaSet(插入 mongoUrls)
通过此调用:
(VOMongoRepository
mongoUrls: {'127.0.0.1:27017' . '127.0.0.1:27018' . '127.0.0.1:27019'}
database: 'myDB'
username: 'myUser'
password: 'myPass') enableReplication
我收到一个没有任何更深层次信息的 VOMongoConnectionError。
尝试同样的方法:
VOMongoRepository
mongoUrls: {'myUser:myPass@127.0.0.1:27017/?replicaSet=myRepl' }
database: 'myDB'
然后我收到一个 VOMongoError "not authorized for Query on myDB.MyDocument"
使用 mongo 客户端和 Compass 双重检查凭据,还有 read/write 权限(实际上角色是 dbOwner)。
有趣的是,我的 testDocumentLifeCycle 能够创建对象并发送消息进行保存,returns 而不会发出错误信号,尽管它不会在 MongoDB 中创建文档。但是 selectOne: 然后返回 VOMongoError:
| doc |
MyDocument new
identity: 'me@there.com';
save.
user := MyDocument selectOne: [ :each | each identity = 'me@there.com'].
顺便提一下:上面对 MyDocument class 的测试确实可以在未启用身份验证的情况下使用独立的 mongod。唯一改变的是存储库。
那我做错了什么?
实际上VoyageMongo的replicaSet部分有一个bug。它没有使用提供的凭据。它已发布在 https://github.com/pharo-nosql/voyage/issues/104
我正在尝试将根对象 (MyDocument) 保存到启用身份验证的 mongoDB 和一个由 3 个节点组成的 ReplicaSet(插入 mongoUrls)
通过此调用:
(VOMongoRepository
mongoUrls: {'127.0.0.1:27017' . '127.0.0.1:27018' . '127.0.0.1:27019'}
database: 'myDB'
username: 'myUser'
password: 'myPass') enableReplication
我收到一个没有任何更深层次信息的 VOMongoConnectionError。
尝试同样的方法:
VOMongoRepository
mongoUrls: {'myUser:myPass@127.0.0.1:27017/?replicaSet=myRepl' }
database: 'myDB'
然后我收到一个 VOMongoError "not authorized for Query on myDB.MyDocument"
使用 mongo 客户端和 Compass 双重检查凭据,还有 read/write 权限(实际上角色是 dbOwner)。
有趣的是,我的 testDocumentLifeCycle 能够创建对象并发送消息进行保存,returns 而不会发出错误信号,尽管它不会在 MongoDB 中创建文档。但是 selectOne: 然后返回 VOMongoError:
| doc |
MyDocument new
identity: 'me@there.com';
save.
user := MyDocument selectOne: [ :each | each identity = 'me@there.com'].
顺便提一下:上面对 MyDocument class 的测试确实可以在未启用身份验证的情况下使用独立的 mongod。唯一改变的是存储库。
那我做错了什么?
实际上VoyageMongo的replicaSet部分有一个bug。它没有使用提供的凭据。它已发布在 https://github.com/pharo-nosql/voyage/issues/104