`
369540808
  • 浏览: 198264 次
文章分类
社区版块
存档分类
最新评论

非结构化数据--mongodb数据库的基本操作

 
阅读更多

Mongodb


一般指分布式文档存储数据介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.

我们这次项目中用到的就是它的这两个特点


特点:

使用高效的二进制数据存储,包括大型对象(如视频等)。

*自动处理碎片,以支持云计算层次的扩展性。

面向集合存储,易存储对象类型的数据。

关于mongdb的数据数据操作,攀比SQL Server mongodb的操作和它真是有的一比,几乎是如出一辙。增删改查,样样都有。

下面咱就看看它的连接和查询方式吧。

当然在使用mongodb数据库之前是要先引入它的一些驱动程序的,(我这里使用的是官方提供的两个驱动程序)所谓的就是两个Dll类库文件。分别是

MongoDB.Driver.dll:顾名思义,驱动程序

MongoDB.Bson.dll:序列化、Json相关。

之后我们在自己所用的程序中引入这两个dll文件和导入命名空间。

下列就是具体的实例代码了

1 链接数据库

///初始化Mongodb数据库链接

public void Init()
    {
 
 
//数据库连接字符串,207017是mongodb的数据库端口
ConnectionString="mongodb://Localhost:27017/?safe=true"/>
 //数据库名称
 conststring dbName ="ExamDB";
//创建数据库连接
 
 MongoServerSettingssettings= new MongoServerSettings();
 settings.MaxConnectionPoolSize = 1000;//设定最大连接池
//等待列队数量
  settings.WaitQueueSize = 50;
 MongoServer server=MongoServer.Create(settings);//创建连接数据文件
 //获得数据库cnblogs
MongoDatabase db=server.GateDataBase(dbName);
 
}


通过我们先前的Sql链接数据库我们发现几乎没有什么不同,这是名字换了下而已。所以不同的数据库操作,只要认识了一种,熟悉后,对别的数据库操作,上手是很容易的。

  string connStr =ConfigurationManager.AppSettings["connstr"]; //获取配置文件的连接
            conn = new SqlConnection(connStr);
    conn.open();

2插入数据


好了数据打开了,现在得添加数据了,由于mongodb没有表的概念,只有数据集合,所以我们插入数据,就要设定数据的集合名称。(但这里很类似表,只是存储的数据不再受表的限制,它是对象集合,所以可以存储任意的数据类型):

 public static stringfileTable = "files";//设定查询的集合名称
//Httpcontext类是获取前台的数据
Public bool Insert(HttpContext contex)
{
            MongoDatabase db = Init();
// MongoGridFS fs = newMongoGridFS(db); //如果不设定查询的集合,则默认读取的集合表名是filse
//定义设定集合对象,设定查询的集合
            MongoGridFSSettings fsSetting = new MongoGridFSSettings() { Root = fileTable };
//定义文件的操作对象,可以执行文件的增加,删除和更新操作
    MongoGridFS fs = new MongoGridFS(DB, fsSetting);      
 // 摘要:  public sealed class HttpPostedFile.ContentLength
 //    获取上载文件的大小(以字节为单位)。
 // 返回结果:
 // 文件长度(以字节为单位)。
//定义文件字节流对象
 HttpPostedFile file =context.Request.Files["Filedata"];
 int nFileLen = file.ContentLength;//     文件长度(以字节为单位)       
byte[]myData = new Byte[nFileLen];
 file.InputStream.Read(myData, 0, nFileLen).//将文件以字节流的形式写入
 
//添加文件上传的附件信息,可以添加很多,这里只做个实例
 MongoGridFSCreateOptions option = new MongoGridFSCreateOptions();
 option.UploadDate = DateTime.Now;
//Using语句实现销毁链接方式
//MongoGirdFSStream可以实现文件的度和取得操作,
 //创建文件,文件并存储数据
using(MongoGridFSStream gfs = fs.Create(file.FileName, option))
                {
                    gfs.Write(myData, 0,nFileLen);
                    gfs.Close();
}
 
}


通过实例我们发现,Mongodb的操作和SQLServer的操作是很大程度上是相识的,包括增,删除,添加和修改等方式,只是名字不同。我们不必因为是一个新的东西而听着害怕这种感觉,只要肯联系和观察思考,就会发现和以往有很多联系之处的

以上只是一个简单的上传的实例,具体的更多的方法还等待大家继续去实践。后续继续说明Mongodb的一些配置。


分享到:
评论

相关推荐

    论文研究-PostgreSQL与MongoDB处理非结构化数据性能比较.pdf

    为了能够定量地比较关系型数据库和面向文档的NoSQL数据库的数据存储与处理能力,比较了PostgreSQL的hstore数据类型和MongoDB的内嵌文档对非结构化数据的储存方式,并通过非结构化数据的批量加载、磁盘占用、主键查询...

    mongodb数据库

    传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说--列的个数,类型都一样. mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值)

    论文研究 - SQL和NO-SQL数据库管理系统对非结构化数据的比较研究

    本文旨在在JSON格式的非结构化数据表示中,建立关系Microsoft SQL Server数据库和非关系MongoDB数据库之间的相关研究。 关于基于性能,安全性等方面的多个数据库管理应用程序的比较,需要做大量的工作,但是在基于...

    MongoDBManager-Windows-64 MongoDB可视化工具

    MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库...MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

    非结构化数据库MongoDB的数据存储.pptx

    非结构化数据库MongoDB的数据存储.pptx

    最通俗易懂的 MongoDB 非结构化文档存储数据库教程.zip

    mongodb 数据库基本操作 1、mongoDB的介绍 mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非...

    MongoDB数据库安装配置、基本操作实例详解

    本文实例讲述了MongoDB数据库安装配置、基本操作。分享给大家供大家参考,具体如下: 1、简介 NO SQL:NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”,是对不同于传统的关系数据库管理系统(RDBMS)的统称。...

    人工智能-项目实践-深度学习-基于Kafka和MongoDB的结构化日志异步记录和预警框架.zip

    在日志数据的消费端,breeze使用MongoDB进行日志数据的落地,之所以选择MongoDB,而不是其他关系型数据库或key-value型数据库,是为了兼顾结构化日志的分析能力(MongoDB提供了强大的条件查询能力)和性能(抛弃强...

    MongoDB 是一个基于分布式文件存储的数据库.pdf

    MongoDB 的主要特点是其灵活的文档模型,它允许在单个文档中存储结构化、半结构化和非结构化的数据。这使得 MongoDB 成为 Web 应用的理想选择,因为它可以轻松处理各种复杂的数据需求MongoDB 是一个面向文档的数据库...

    nosql数据库mongodb2.7.6.jar

    MongoDB的数据模型是面向文档的, 所谓文档是一种类似于JSON的结构,简单理解MongoDB这个数据库中存的是各种各样的JSON( BSON )。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。...

    MongoDB数据库的特色和优点介绍

    这一年开发人员发现他们没必要为了持久化数据,而将每个对象转化为表格结构。 2011年是文档数据库的一年,尽管一直在稳步发展势头,通过过去八年多的发展,现在有各种稳定的文档数据库—-从基于亚马逊和谷歌的云,到...

    mongodb可视化工具

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它...

    数据库套装:MySQL-Redis-MongoDB

    没有数据就没有程序世界的一切;强大开源的MySQL依然是使用最广的核心数据解决方案;...去结构化的MongoDB把开发速度带入新的次元;7天带你把流行DB一网打尽;桫哥出品依旧水煮,依旧不拘一格脑洞大开;

    Learn-MongoDB-4.x:学习Packt发布的MongoDB 4.0

    在管理大量非结构化和非关系数据集时,MongoDB是用于DBA和数据架构师的事实上的数据库管理系统(DBMS)。 这本更新的书包括最新版本,涵盖了MongoDB 4.x的所有功能,同时帮助您动手构建MongoDB数据库应用程序。 ...

    json-scada:以MongoDB数据库服务器为中心的便携式可扩展SCADAIoT平台

    {json:scada} 以MongoDB数据库服务器为中心的便携式可扩展SCADA / IoT平台。使命宣言通过利用主流开源IT工具提供易于使用,功能齐全,可扩展的便携式SCADA / IoT系统。屏幕截图主要特点适用于SCADA / IoT的标准IT...

    python学习MongoDB.txt

    优点: 将数据结构化存储,降低冗余 提高了增删改查效率 方便扩展,方便程序调用 缺点: 数据库往往需要指令或语句操作,相对复杂 几个概念 数据 :能够输入到计算机中并被识别处理的信息的集合 数据结构 :...

    mongodb-linux-x86_64-3.2.20.tgz

    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

Global site tag (gtag.js) - Google Analytics