.NET应用如何连接到MongoDB数据库.docxVIP

  • 3
  • 0
  • 约4.13千字
  • 约 6页
  • 2015-12-18 发布于江苏
  • 举报
.NET应用如何连接到MongoDB数据库.docx

.NET应用如何连接到MongoDB数据库 引言 这则小窍门将讲述如何开发一个.NET应用来连接Mongo数据库并执行多种操作。同时还稍微涉及了Mongo数据库和多种命令。 使用代码 让我们从Mongo数据库的一些细节和基本命令开始,并最终介绍如何创建一个可连接至Mongo数据库的.NET Windows应用。 Mongo数据库 MongoDB?是 一个跨平台、文档导向的数据库系统,它被归类为“NoSQL”数据库。MongoDB避开了传统的基于表的关系数据库结构,而是使用了带动态模式的类 JSON文档。MongoDB将这种格式称为BSON(二进制JSON)。这种动态模式使得特定类型应用中的数据整合更简单、更快速。MongoDB是自 由且开源的软件。 Mongo数据库的特性 Ad hoc 查询 标引 复制 负载均衡 文件存贮 聚合 服务器端 JavaScript 执行 定容集合 用户可从 此处?下载Mongo数据库,然后将其中内容解压至任一文件夹。 文件下载完成后,用户需要配置MongoDB的数据文件夹。做法是在“C:\Data”文件夹下创建一个名为“DB”的文件夹。 数据文件夹创建好以后,可以通过用命令行提示符在“bin”文件夹下运行“mongod.exe”来启动Mongo数据库。 现在数据库已经启动,并正在运行。 创建一个.NET应用 创建一个.NET web/Windows应用。在这个示例中,我们将用一个简单的员工表。 开始之前,我们需要确保系统中装有MongoDB的.NET驱动。你可以按下面的步骤来为一个指定的项目安装驱动。 打开Visual Studio的包管理器: 打开包管理器控制台后,用户可以执行下面的命令: Install-Package?mongocsharpdriver? 在项目中添加对下列命名空间的引用: using?MongoDB.Bson;? using?MongoDB.Driver;? //此外,你将频繁的用到下面这些?using?语句中的一条或多条:? using?MongoDB.Driver.Builders;? using?MongoDB.Driver.GridFS;? using?MongoDB.Driver.Linq;? 声明数据库服务器和数据库的变量: MongoServer?_server;? MongoDatabase?_database;? 用下面的命令连接至数据库。在这里,数据库服务器是在本地主机上运行的,端口为:27017,数据库名为“?anoop”。 private?void?Form1_Load(object?sender,?EventArgs?e)? {? ????string?connection?=?mongodb://localhost:27017;? ????_server?=?MongoServer.Create(connection);? ????_database?=?_server.GetDatabase(anoop,?SafeMode.True);? }? 在这里,我们创建了三个使用不同属性集合的类。我们可以设置这些类的属性,并将数据保存至同一个数据库、同一个表。这是无模式数据库的真正优势:插入数据时不检查模式。保存不同的记录时可以用不同的域的集合,而其它的域?将?默认被视为NULL。 public?class?Users1? ?{? ?????public?ObjectId?Id?{?get;?set;?}? ?????public?string?Name?{?get;?set;?}? ?????public?int?Age?{?get;?set;?}? ?}? ?public?class?Users2? ?{? ?????public?ObjectId?Id?{?get;?set;?}? ?????public?string?Name?{?get;?set;?}? ?????public?string?Location?{?get;?set;?}? ?}? ?public?class?Users3? ?{? ?????public?ObjectId?Id?{?get;?set;?}? ?????public?string?Name?{?get;?set;?}? ?????public?int?Age?{?get;?set;?}? ?????public?string?Location?{?get;?set;?}? ?}? ?private?void?rbEntity1_CheckedChanged(object?sender,?EventArgs?e)? ?{? ?????txtName.Enabled?=?true;? ?????txtAge.En

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档