如何从MongoDB中读取文件

如何从MongoDB中读取文件,第1张

界面代码

<img src="@ViewData["html"]" />

作为测试代码,我就在界面上面写了一个image框,用来显示从MongoDB数据库中读取出来的。

HomeController代码

public ActionResult Index() { ViewData["html"] = "/MongodbHelp/ProcessRequestactions=DOWNLOAD&value=lfpng"; return View(); }

后面的代码组成相信凡是接触过MVC的读者都能看懂这个东西,后面我就直接写死了一个的名称。

MongodbHelpController

连接数据库的方法

private static MongoDatabase DB; public static string fileTable = "fs";//数据库中的表名称 //Sets up the environment public void Init() {

//我们可以在配置文件中读取 string ConnectionString = "127001"; //ConfigurationManagerAppSettings["mondoDbConnection"]; if (StringIsNullOrEmpty(ConnectionString)) { throw new ArgumentNullException("Connection string not found"); } MongoServerSettings mongoSetting = new MongoServerSettings(); mongoSettingMaxConnectionPoolSize = 15000;//设定最大连接池 mongoSettingWaitQueueSize = 500;//设定等待队列数 mongoSettingServer = new MongoServerAddress(ConnectionString, 27017); int count = MongoServerMaxServerCount; MongoServer server = MongoServerCreate(mongoSetting);//创建连接数据文件 DB = serverGetDatabase("local");//创建数据库连接 }

用来判断我们进行的方法是哪一个,上传文件还是下载文件,在这只给大家介绍下载的方法;

public void ProcessRequest() { Init();//initialize the mongo string action = RequestQueryString["actions"]; switch (action) { case "LIST": GetFileList(); break; //获取文件列表 case "UPLOAD": Upload(); break; //上传文件 case "DELETE": Delete(); break;//删除文件 case "DOWNLOAD": DownFile(); break; //下载文件 } }

下载文件的类

//下载文件 public void DownFile() { string filename = RequestQueryString["value"]; ResponseContentType = "application/octet-stream"; //contextResponseContentType = "audio/mpeg"; ResponseAddHeader("Content-Disposition", "attachment; filename=" + filename); MongoGridFSSettings fsSetting = new MongoGridFSSettings() { Root = fileTable }; MongoGridFS fs = new MongoGridFS(DB, fsSetting); MongoGridFSFileInfo gfInfo = new MongoGridFSFileInfo(fs, filename); //方法一,很简洁 fsDownload(ResponseOutputStream, filename); ResponseEnd(); }

通过这几段代码,我们就轻松的完成MongoDB数据的文件读取 *** 作。

1 获取mongoDB中数据库的大小命令

use databasename

dbstats()

显示信息如下

> dbstats()

{

"collections" : 3,

"objects" : 80614,

"dataSize" : 21069700,

"storageSize" : 39845376,

"numExtents" : 9,

"indexes" : 2,

"indexSize" : 6012928,

"ok" : 1

}

其中storage表示的就是数据库的大小,显示出的数字的单位是字节,因此如果需要转换单位为KB需要除以1024

2 获取MongoDB中collection

dbcollectiondataSize()

//collection中的数据大小

dbcollectionstorageSize()

//为collection分配的空间大小,包括未使用的空间

dbcollectiontotalIndexSize()

collection中索引数据大小

dbcollectiontotalSize()

collection中索引+data所占空间

在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。

BSON是一个轻量级的二进制数据格式。

MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。

当Client端要将写入文档,使用查询等等 *** 作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。

望采纳!

MongoDB是一个面向文档的数据库,属于NoSQL数据库,它使用类似JSON的文档和schemata。

MongoDB的默认接口是(CLI)命令行,新用户很难像专业人员那样处理数据库。因此,有一些MongoDB管理工具来提供GUI界面以提高生产力。就像phpmyadmin为MySQL/MariaDB数据库提供基于>

以上就是关于如何从MongoDB中读取文件全部的内容,包括:如何从MongoDB中读取文件、如何获取mongoDB数据库大小Collection大小、ejs模板读取mongodb数据库信息的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10203398.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存