Я использую GridFS для добавления файлов в базу данных MongoDB.К этим файлам прикреплены метаданные.Теперь я хочу изменить метаданные одного из этих файлов.Я использую версию 3.9 Java-драйвер.
Я использую GridFSBucket для доступа к коллекции GridFS.Однако методы find () в GridFSBucket возвращают экземпляры com.mongodb.client.gridfs.model.GridFSFile, у которых нет методов установки, позволяющих мне изменять метаданные.
Я вижу этот com.mongodb.У gridfs.GridFSFile есть методы для изменения метаданных, но чтобы получить экземпляры этих объектов, мне нужно использовать GridFS, который, похоже, больше не рекомендуется.Конечно, документация для версии 3.9 GridFS основывается на использовании GridFSBucket.
Поэтому мой вопрос:
- Правильно ли я должен использовать GridFSBucket (а не GridFS)
- Как мне получить доступ к метаданным и изменить их, не прибегая к взлому в коллекцию fs.files (что похоже на обман).
FWIW, вот мой код:
String id = "5c05278530a59030cc89fc2f";) // hex id
com.mongodb.client.gridfs.model.GridFSFile file = gridFSBucket.find( eq( "_id", new ObjectId( id ) ) ).first();
Document d = file.getMetadata(); // No corresponding setMetadata()