В Mongodb GridFS данные разбиваются на куски и сохраняются в коллекции fs.chunks.
replset:PRIMARY> db.fs.files.findOne()
{
"_id" : ObjectId("5d009063e7923849879bcf74"),
"filename" : "OUT_XML",
"length" : NumberLong(30),
"chunkSize" : 358400,
"uploadDate" : ISODate("2019-06-12T05:40:51.647Z"),
"md5" : "d7705552425290e462a9c0e909acd4e0",
"metadata" : {
"START_TIME" : NumberLong("1546275661000"),
"END_TIME" : NumberLong("1546275661000"),
"ID" : 0,
"EXCEPTION_FLAG" : 1
}
}
replset:PRIMARY> db.fs.chunks.findOne()
{
"_id" : ObjectId("5d009063e7923849879bcf75"),
"files_id" : ObjectId("5d009063e7923849879bcf74"),
"n" : 0,
"data" : BinData(0,"Y29tLmlibS5kYjIuamNjLmFtLmMyQDdmZjk1NTYw")
}
, но когда я пытаюсь прочитать данные, данные отображаются только в fs.files
.Мне это понравилось, это официальная демоверсия
gridFSBucket.find(eq("_id", new ObjectId("5d009063e7923849879bcf74"))).forEach(
new Block<GridFSFile>() {
@Override
public void apply(final GridFSFile gridFSFile) {
System.out.println(gridFSFile);
}
Я просто хотел знать, как получить данные в fs.chunks
, с методом find()
, который больше download
их.