Сбой команды с ошибкой 8000 (AtlasError) при попытке вставить данные в коллекцию на сервере Atlast - PullRequest
0 голосов
/ 13 апреля 2019

Я создаю mongodb, используя mongoDB Atlas. Кажется, все в порядке. Когда я запустил программу, сервер успешно подключился. Однако, когда я попытался вставить данные в коллекцию, он выдал ошибку «Команда завершилась ошибкой 8000 (AtlasError)». Я прочитал другой пост, в котором говорилось, что мне нужно использовать другое имя базы данных, но это все равно не сработало. Я очень новичок в этом, поэтому любая помощь будет высоко ценится. Вот мой код

public class DbController2<DBObject> {
MongoClientURI uri;
MongoClient mongoClient;
MongoDatabase database;
MongoCollection<Document> collection;

public DbController2() {
    uri = new MongoClientURI(
            "mongodb://dbEfish:PASSWORD@cluster0-shard-00-00-klemt.mongodb.net:27017,cluster0-shard-00-01-klemt.mongodb.net:27017,cluster0-shard-00-02-klemt.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true");

    mongoClient = new MongoClient(uri);
    database = mongoClient.getDatabase("eFishDB");
    collection = database.getCollection("controlVar");
}

public Document toDBObject(String key, String[] dataPoints) {
    return  new Document("_id", key)
            .append("Water Level", dataPoints[0])
            .append("Water Temperature", dataPoints[1])
            .append("pH Level", dataPoints[2])
            .append("Nitrate Level", dataPoints[3])
            .append("Oxygen Level", dataPoints[4])
            .append("Ammonia Level", dataPoints[5])
            .append("Light Intensity", dataPoints[6])
            .append("Air Temperature", dataPoints[7]);
}

public void insert(String key, String[] dataPoints) {
    //((DBCollection) collection).insert((com.mongodb.DBObject[]) this.toDBObject(key, dataPoints));
    collection.insertOne(this.toDBObject(key, dataPoints));
}

}

Вот журнал ошибок: ИНФОРМАЦИЯ: Закрытое соединение [connectionId {localValue: 4}] к cluster0-shard-00-00-klemt.mongodb.net:27017, поскольку при этом соединении возникла исключительная ситуация сокета. Исключение в потоке "AWT-EventQueue-0" com.mongodb.MongoSecurityException: Исключение, проверяющее подлинность MongoCredential {механизм = SCRAM-SHA-1, userName = 'dbEfish', источник = 'admin', пароль =, механизмProperties = {}} в com.mongodb.internal.connection.SaslAuthenticator.wrapException (SaslAuthenticator.java:173) на com.mongodb.internal.connection.SaslAuthenticator.access $ 300 (SaslAuthenticator.java:40) на com.mongodb.internal.connection.SaslAuthenticator $ 1.run (SaslAuthenticator.java:70) на com.mongodb.internal.connection.SaslAuthenticator $ 1.run (SaslAuthenticator.java:47) на com.mongodb.internal.connection.SaslAuthenticator.doAsSubject (SaslAuthenticator.java:179) на com.mongodb.internal.connection.SaslAuthenticator.authenticate (SaslAuthenticator.java:47) в com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll (InternalStreamConnectionInitializer.java:152) в com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize (InternalStreamConnectionInitializer.java:63) в com.mongodb.internal.connection.InternalStreamConnection.open (InternalStreamConnection.java:129) в com.mongodb.internal.connection.UsageTrackingInternalConnection.open (UsageTrackingInternalConnection.java:50) в com.mongodb.internal.connection.DefaultConnectionPool $ PooledConnection.open (DefaultConnectionPool.java:398) в com.mongodb.internal.connection.DefaultConnectionPool.get (DefaultConnectionPool.java:115) в com.mongodb.internal.connection.DefaultConnectionPool.get (DefaultConnectionPool.java:101) на com.mongodb.internal.connection.DefaultServer.getConnection (DefaultServer.java:85) в com.mongodb.binding.ClusterBinding $ ClusterBindingConnectionSource.getConnection (ClusterBinding.java:124) в com.mongodb.client.internal.ClientSessionBinding $ SessionBindingConnectionSource.getConnection (ClientSessionBinding.java:136) в com.mongodb.operation.OperationHelper.withReleasableConnection (OperationHelper.java:424) в com.mongodb.operation.MixedBulkWriteOperation.execute (MixedBulkWriteOperation.java:194) в com.mongodb.operation.MixedBulkWriteOperation.execute (MixedBulkWriteOperation.java:69) в com.mongodb.client.internal.MongoClientDelegate $ DelegateOperationExecutor.execute (MongoClientDelegate.java:198) в com.mongodb.client.internal.MongoCollectionImpl.executeSingleWriteRequest (MongoCollectionImpl.java:961) в com.mongodb.client.internal.MongoCollectionImpl.executeInsertOne (MongoCollectionImpl.java:495) в com.mongodb.client.internal.MongoCollectionImpl.insertOne (MongoCollectionImpl.java:479) в com.mongodb.client.internal.MongoCollectionImpl.insertOne (MongoCollectionImpl.java:473) в DbController2.insert (DbController2.java:37) на EFishGreen $ 4.actionPerformed (EFishGreen.java:131) в javax.swing.AbstractButton.fireActionPerformed (Неизвестный источник) at javax.swing.AbstractButton $ Handler.actionPerformed (Неизвестный источник) в javax.swing.DefaultButtonModel.fireActionPerformed (Неизвестный источник) at javax.swing.DefaultButtonModel.setPressed (неизвестный источник) на javax.swing.plaf.basic.BasicButtonListener.mouseReleased (неизвестный источник) в java.awt.Component.processMouseEvent (Неизвестный источник)в javax.swing.JComponent.processMouseEvent (Неизвестный источник) в java.awt.Component.processEvent (Неизвестный источник) в java.awt.Container.processEvent (Неизвестный источник) at java.awt.Component.dispatchEventImpl (неизвестный источник) в java.awt.Container.dispatchEventImpl (Неизвестный источник) в java.awt.Component.dispatchEvent (Неизвестный источник) в java.awt.LightweightDispatcher.retargetMouseEvent (Неизвестный источник) at java.awt.LightweightDispatcher.processMouseEvent (неизвестный источник) в java.awt.LightweightDispatcher.dispatchEvent (Неизвестный источник) в java.awt.Container.dispatchEventImpl (Неизвестный источник) в java.awt.Window.dispatchEventImpl (неизвестный источник) в java.awt.Component.dispatchEvent (Неизвестный источник) в java.awt.EventQueue.dispatchEventImpl (Неизвестный источник) на java.awt.EventQueue.access $ 500 (неизвестный источник) at java.awt.EventQueue $ 3.run (неизвестный источник) at java.awt.EventQueue $ 3.run (неизвестный источник) at java.security.AccessController.doPrivileged (собственный метод) at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (неизвестный источник) at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (неизвестный источник) at java.awt.EventQueue $ 4.run (неизвестный источник) at java.awt.EventQueue $ 4.run (неизвестный источник) at java.security.AccessController.doPrivileged (собственный метод) at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (неизвестный источник) в java.awt.EventQueue.dispatchEvent (Неизвестный источник) в java.awt.EventDispatchThread.pumpOneEventForFilters (Неизвестный источник) в java.awt.EventDispatchThread.pumpEventsForFilter (Неизвестный источник) в java.awt.EventDispatchThread.pumpEventsForHierarchy (Неизвестный источник) в java.awt.EventDispatchThread.pumpEvents (Неизвестный источник) в java.awt.EventDispatchThread.pumpEvents (Неизвестный источник) at java.awt.EventDispatchThread.run (неизвестный источник) Вызвано: com.mongodb.MongoCommandException: команда завершилась с ошибкой 8000 (AtlasError): «неудачная аутентификация аутентификации не удалась». на сервере cluster0-shard-00-00-klemt.mongodb.net:27017. Полный ответ: {"ok": 0, "errmsg": "bad auth Проверка подлинности завершилась неудачно.", "Code": 8000, "codeName": "AtlasError"} в com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException (ProtocolHelper.java:187) в com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse (InternalStreamConnection.java:303) в com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive (InternalStreamConnection.java:259) в com.mongodb.internal.connection.CommandHelper.sendAndReceive (CommandHelper.java:83) в com.mongodb.internal.connection.CommandHelper.executeCommand (CommandHelper.java:33) в com.mongodb.internal.connection.SaslAuthenticator.sendSaslContinue (SaslAuthenticator.java:134) на com.mongodb.internal.connection.SaslAuthenticator.access $ 200 (SaslAuthenticator.java:40) на com.mongodb.internal.connection.SaslAuthenticator $ 1.run (SaslAuthenticator.java:67) ... еще 59

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...