В моем приложении. net core 3.1 я использую MongoDriver GridFS для хранения файлов в mon go db. Я также предоставляю пользовательские метаданные для хранения вместе с объектом mon go files
.
_gridFSBucket.UploadFromBytesAsync(fileName,
fileByteArray,
new GridFSUploadOptions
{
Metadata = new FileMetadata
{
Version = 1,
AntragId = 313213,
DocumentType = "photo"
}
.ToBsonDocument()
});
В результате:
{
"_id" : ObjectId("5e9080ad80e2b65e90e2ba35"),
"length" : NumberLong(263356),
"chunkSize" : 261120,
"uploadDate" : ISODate("2020-04-10T14:20:30.457Z"),
"md5" : "af3e6e52680662f5a33c69d2ee16f5c5",
"filename" : "3tfa5mju.5cl",
"metadata" : {
"Version" : 1,
"AntragId" : 313213,
"DocumentType" : "photo"
}
}
Пока все хорошо. Но теперь мне нужно запросить этот файл по свойству FileMetada
Что-то вроде (это не работает)
var filter = Builders<GridFSFileInfo>.Filter.Eq<string>(info => info.Metadata.AntragId, 1);
var fileInfos = await _gridFSBucket.FindAsync(filter);
Есть ли чистый способ сделать это?