запуск сценария mongoDb в CommandLineRunner не авторизован - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь найти скрипт миграции БД mongo после запуска приложения SpringBoot.Пока я не настроил никаких специальных ролей и прав в БД.Но я постоянно получаю UncategorizedMongoDbException:

Command failed with error 13 (Unauthorized): 'not authorized on transaction to execute command { $eval:....}

И вот мой компонент.Вы знаете, как я могу его обновить?

@Component
@RequiredArgsConstructor
public class MongoDbScriptRunner implements CommandLineRunner {

private final MongoTemplate mongoTemplate;

@Value(value = "classpath:mypath")
private Resource scriptSource;

@Override
public void run(String... args) throws Exception {
    ScriptOperations scriptOps = mongoTemplate.scriptOps();

    Path path = Paths.get(scriptSource.getURI());

    Stream<String> lines = Files.lines(path);
    String script = lines.collect(Collectors.joining("\n"));
    lines.close();

    ExecutableMongoScript mongoScript = new ExecutableMongoScript(script);
    scriptOps.execute(mongoScript);
}
}
...