
界面代码
<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数据库信息的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)