Я пытаюсь сохранить корневой объект (MyDocument) в mongoDB с включенной аутентификацией и набором ReplicaSet, состоящим из 3 узлов (как вставлено в 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 "не авторизован для запроса на myDB.MyDocument"
Учетные данные дважды проверяются клиентом mongo и Compass, а также разрешениями на чтение / запись (на самом деле роль dbOwner).
Интересно, что мой testDocumentLifeCycle может создать объект и отправить сообщение для сохранения, которое возвращается без сообщения об ошибке, хотя и не создает документ в MongoDB. Но затем selectOne: возвращает ошибку VOMongoError:
| doc |
MyDocument new
identity: 'me@there.com';
save.
user := MyDocument selectOne: [ :each | each identity = 'me@there.com'].
Просто упомяну: вышеописанный тест для класса MyDocument работал с автономным mongod без включенной аутентификации. Единственное, что изменилось, это хранилище.
Так что я делаю не так?