C# mon go GridFS: запрос к метаданным файла? - PullRequest
0 голосов
/ 10 апреля 2020

В моем приложении. 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);

Есть ли чистый способ сделать это?

...