Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查询失败,错误代码为13,错误消息为';命令find需要身份验证';在服务器上本地主机:27017_Java_Spring_Mongodb_Spring Boot_Reactive - Fatal编程技术网

Java 查询失败,错误代码为13,错误消息为';命令find需要身份验证';在服务器上本地主机:27017

Java 查询失败,错误代码为13,错误消息为';命令find需要身份验证';在服务器上本地主机:27017,java,spring,mongodb,spring-boot,reactive,Java,Spring,Mongodb,Spring Boot,Reactive,MongoDB和Spring Boot出现了奇怪的错误。 我使用反应式MongoDb库(spring boot starter data MongoDb Reactive)。 当我把url放在application.yml文件中时,它工作得很好 spring: data: mongodb: uri: mongodb://test01:test01@localhost/test_db 但当我将其移动到MongoConfig类中时,应用程序抛出异常 @EnableReact

MongoDB和Spring Boot出现了奇怪的错误。 我使用反应式MongoDb库(spring boot starter data MongoDb Reactive)。 当我把url放在application.yml文件中时,它工作得很好

spring:
  data:
    mongodb:
      uri: mongodb://test01:test01@localhost/test_db
但当我将其移动到MongoConfig类中时,应用程序抛出异常

@EnableReactiveMongoRepositories
public class MongoDBConfig  extends AbstractReactiveMongoConfiguration {
    @Bean
    public MongoClient mongoClient() {
        return MongoClients.create("mongodb://test01:test01@localhost/test_db?authMode=SCRAM-SHA-1");
    }

    @Override
    protected String getDatabaseName() {
        return "test_db";
    }
}
Caused by: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'command find requires authentication' on server localhost:27017
    at com.mongodb.internal.operation.FindOperation$3.onResult(FindOperation.java:722) ~[mongodb-driver-core-4.0.4.jar:na]
    at com.mongodb.internal.operation.OperationHelper$ReferenceCountedReleasingWrappedCallback.onResult(OperationHelper.java:411) ~[mongodb-driver-core-4.0.4.jar:na]
    at com.mongodb.internal.operation.CommandOperationHelper$10.checkRetryableException(CommandOperationHelper.java:493) ~[mongodb-driver-core-4.0.4.jar:na]
例外

@EnableReactiveMongoRepositories
public class MongoDBConfig  extends AbstractReactiveMongoConfiguration {
    @Bean
    public MongoClient mongoClient() {
        return MongoClients.create("mongodb://test01:test01@localhost/test_db?authMode=SCRAM-SHA-1");
    }

    @Override
    protected String getDatabaseName() {
        return "test_db";
    }
}
Caused by: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'command find requires authentication' on server localhost:27017
    at com.mongodb.internal.operation.FindOperation$3.onResult(FindOperation.java:722) ~[mongodb-driver-core-4.0.4.jar:na]
    at com.mongodb.internal.operation.OperationHelper$ReferenceCountedReleasingWrappedCallback.onResult(OperationHelper.java:411) ~[mongodb-driver-core-4.0.4.jar:na]
    at com.mongodb.internal.operation.CommandOperationHelper$10.checkRetryableException(CommandOperationHelper.java:493) ~[mongodb-driver-core-4.0.4.jar:na]
在代码中使用时,连接字符串似乎不起作用

你知道吗?
请提供帮助。

您应该指定
authSource
,如下所示

mongodb://test01:test01@localhost/test_db?authSource=admin

您应该指定
authSource
,如下所示

mongodb://test01:test01@localhost/test_db?authSource=admin

还是一样的例外。数据库名称是特定的test_DB。Spring的文档说,您可以在服务器或authSource@Doanh你能做到吗?还是一样的例外。数据库名称是特定的test_DB。Spring的文档说,您可以在服务器或authSource@Doanh你能做到这一点吗?