如您所知,在使用spring boot jpa模块时,application.properties
中的以下代码将预定义的sql数据导入到rdb。
spring.datasource.initialization-mode = always
spring.datasource.data = classpath:/sql/spring-boot-mysql.sql
但是使用mongodb作为存储时,application.properties
文件中的哪些属性代码可以导入外部文件的预定义JSON数据?如果此类属性未退出,那么如何使用Spring Boot从外部文件导入JSON数据?
答案 0 :(得分:2)
我不知道是否有使用application.properties
的解决方案,但这是我的解决方案,用于从每行包含一个文档的文件中导入文档。
public static void importDocumentsFromJsonFile(File file) {
//Read each line of the json file. Each file is one observation document.
List<Document> observationDocuments = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(file.getPath()));) {
String line;
while ((line = br.readLine()) != null) {
observationDocuments.add(Document.parse(line));
}
} catch (IOException ex) {
ex.getMessage();
}
mongoTemplate.getCollection("yourCollection").insertMany(observationDocuments);
}
答案 1 :(得分:0)
您可以查看以下由“ flapdoodle”提供的Test类。该测试显示了如何导入包含集合数据集的JSON文件:MongoImportExecutableTest.java
理论上,您也可以导入整个数据库转储。 (使用MongoDB还原):MongoRestoreExecutableTest.java