gpt4 book ai didi

java - 如何使用 MongoDB Java 驱动程序将 Bson 序列写入文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:24:03 25 4
gpt4 key购买 nike

使用 MongoDB Java 驱动程序库有一种方法可以将 bson 对象的写入流式传输到文件,然后再从该文件流式读取 bson 对象。查看文档,我看不到如何将一系列 bson 对象编码为一个文件,类似于在文件中包含一系列 json 对象。

最佳答案

MongoDB GridFS 是一种用于存储和检索文件的规范。

使用 GridFS 存储文件 « GridFS 使用两个集合将文件保存到数据库:fs.files 和 fs.chunks。根据文件的大小,数据被存储到多个单独的“ block ”中。 * 使用 GridFS 的 MongoDB 文件。 Refer to MyPost

有关 GridFS 的更多信息,请访问我的 Github wiki .

public static void main(String[] args) throws IOException {
mongoDB_GRIDFS("D:\\Yash\\JavaCSV.csv");
}
public static void mongoDB_GRIDFS(String csvlocation) throws IOException{
Mongo Mongo = new Mongo( "localhost" , 27017 ); // Connect to MongoDB
DB db = Mongo.getDB( "DBName" ); // Get database
String bucketName = "BucketName";
GridFS gridFs = new GridFS(db,bucketName); //Create instance of GridFS implementation
String imageName = "image1";
upload(gridFs, csvlocation, imageName);
download(gridFs, imageName);
Mongo.close();
}
public static void upload(GridFS gridFs, String csvlocation, String imageName) throws IOException{
GridFSInputFile gridFsInputFile = gridFs.createFile(new File(csvlocation));
gridFsInputFile.setId("777");
gridFsInputFile.setFilename(imageName); //Set a name on GridFS entry
gridFsInputFile.save(); //Save the file to MongoDB
}
public static void download(GridFS gridFs, String imageName) throws IOException{
GridFSDBFile outputImageFile = gridFs.findOne(imageName);
String outcsvLocation = "D:\\Yash\\mongoCSV.csv";//Location of the file read from MongoDB to be written
outputImageFile.writeTo(new File(outcsvLocation));
}

Grid FS


CSV 文件到 JSON 对象和 JSON 字符串到 CSV 文件。


JSON 到 BSON 和 BSON 到 JSON。

MongoDB Java Driver jar 附带用于将 JSON 解析为 BSON 并将 BSON 序列化为 JSON 的实用方法。

  • BSON 库 « 一个独立的 BSON 库,具有新的编解码器基础架构,您可以使用它来构建高性能编码器和解码器,而无需中间 Map 实例。

Example .

DBObject dbObj = new Document("myKey", "myValue");
String db_json = com.mongodb.util.JSON.serialize( dbObj );

DBObject bson = ( DBObject ) com.mongodb.util.JSON.parse( jsonData );
System.out.println("BSON Object : "+ bson);

示例输出:

BSON Object : [ { "Key2" : "21" , "Key1" : "11" } , { "Key2" : "22" , "Key1" : "12"}]
Json : {"K1":"V1","K2":"V2"}
Map : {K1=V1, K2=V2}

关于java - 如何使用 MongoDB Java 驱动程序将 Bson 序列写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48512313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com