【发布时间】:2020-08-12 13:55:08
【问题描述】:
我正在尝试使用 GridFs 上传和下载文档。
var mongoClient = new MongoClient("mongodb://localhost:27017");
var db = mongoClient.GetDatabase("TestDB");
Stream source = new MemoryStream(Content.ToBson());
//Initializing GdridFS conection
GridFSBucket bucket = new GridFSBucket(db);
var options = new GridFSUploadOptions
{
ChunkSizeBytes = 64512, // 63KB
Metadata = new BsonDocument
{
{ "A", "1" },
{ "booleanValue", true }
}
};
// file name and source content we are receiving fom post man.
var id = await Bucket.UploadFromStreamAsync("FileName", source, options);
到这里一切都很好。现在我想根据文件名和 id 下载文件。 所以我用这个方法。
var x = Bucket.DownloadAsBytesAsync(fileName);
现在,当我下载它时,我想知道有关上传时存在的文件的所有信息。就像我想知道我在上传时存储的元数据信息还有文件名,上传时存在的每条信息的id,但我不知道在下载所有信息后如何获取它。 任何帮助将不胜感激。 问候
【问题讨论】:
-
您应该始终将版本属性添加到数据库中,以便跟踪版本。
-
@jdweng:你知道我在下载文件时如何获取所有信息吗?
-
您没有下载文件您正在获取一个包含表格的数据库,您可以将信息放入表格中。
-
感谢您的回复。您能给我一个小例子或一个我可以理解的链接吗?我是新手,所以对这个话题了解不多
-
您可以使用元数据。请参阅:docs.mongodb.com/manual/core/gridfs
标签: c# database mongodb gridfs data-storage