NET连接MongoDB数据库实例方法
来源:学问馆 本文已影响1.56W人
来源:学问馆 本文已影响1.56W人
使用代码
让我们从Mongo数据库的一些细节和基本命令开始,并最终介绍如何创建一个可连接至Mongo数据库的 Windows应用。
Mongo数据库
MongoDB 是一个跨平台、文档导向的数据库系统,它被归类为“NoSQL”数据库。MongoDB避开了传统的基于表的关系数据库结构,而是使用了带动态模式的类JSON文档。MongoDB将这种格式称为BSON(二进制JSON)。这种动态模式使得特定类型应用中的数据整合更简单、更快速。MongoDB是自由且开源的软件。
Mongo数据库的特性
Ad hoc 查询
1 标引
2 复制
3负载均衡
4 文件存贮
5 聚合
6 服务器端 JavaScript 执行
7 定容集合
用户可从 此处 下载Mongo数据库,然后将其中内容解压至任一文件夹。 文件下载完成后,用户需要配置MongoDB的数据文件夹。做法是在“C:Data”文件夹下创建一个名为“DB”的文件夹。
数据文件夹创建好以后,可以通过用命令行提示符在“bin”文件夹下运行“”来启动Mongo数据库。
现在数据库已经启动,并正在运行。
创建一个应用
创建一个 web/Windows应用。在这个示例中,我们将用一个简单的员工表。
开始之前,我们需要确保系统中装有MongoDB的驱动。你可以按下面的步骤来为一个指定的项目安装驱动。
打开Visual Studio的包管理器:
打开包管理器控制台后,用户可以执行下面的命令:
复制代码 代码如下:
Install-Package mongocsharpdriver
在项目中添加对下列命名空间的引用:
复制代码 代码如下:
using ;
using er;
//此外,你将频繁的用到下面这些 using 语句中的一条或多条:
using ders;
using FS;
using ;
声明数据库服务器和数据库的变量:
复制代码 代码如下:
MongoServer _server;
MongoDatabase _database;
用下面的命令连接至数据库。在这里,数据库服务器是在本地主机上运行的',端口为:27017,数据库名为“ anoop”。
复制代码 代码如下:
private void Form1_Load(object sender, EventArgs e)
{
string connection = "mongodb://localhost:27017";
_server = te(connection);
_database = _atabase("anoop", );
}
在这里,我们创建了三个使用不同属性集合的类。我们可以设置这些类的属性,并将数据保存至同一个数据库、同一个表。这是无模式数据库的真正优势:插入数据时不检查模式。保存不同的记录时可以用不同的域的集合,而其它的域 将 默认被视为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)
{
led = true;
led = true;
led = true;
}
private void rbEntity2_CheckedChanged(object sender, EventArgs e)
{
led = true;
led = false;
led = true;
}
private void rbEntity3_CheckedChanged(object sender, EventArgs e)
{
led = true;
led = true;
led = false;
}
private void btnSave_Click(object sender, EventArgs e)
{
if (ked)
{
var _users = _ollection("users");
var user = new Users3 { };
= t32();
= ;
tion = ;
_rt(user);
var id = ;
}
else if (ked)
{
var _users = _ollection("users");
var user = new Users2 { };
= ;
tion = ;
_rt(user);
var id = ;
}
else if (ked)
{
var _users = _ollection("users");
var user = new Users1 { };
= t32();
= ;
_rt(user);
var id = ;
}
("User with name " + + " created");
}
复制代码 代码如下:
///下面的代码帮助你从Mongo数据库中查找一条现有记录。
_collection = _ollection("users");
IMongoQuery query = ("Name", "Anoop");
Users1 _user = _As(query)tOrDefault();
(_ring());
复制代码 代码如下:
///下面的代码帮助你更新Mongo数据库中的一条现有记录。
_collection = _ollection("users");
IMongoQuery query = ("Name", "Anoop");
Users1 _user = _As(query)tOrDefault();
("Age before :" + _ring());
//更新年龄的值
_ = 30;
//保存更改
_(_user);
("Age after :" + _ring());
dominate什么意思 dominate中文翻译-搭配-例句汇总
making changes-getting rid of bad habits时尚口语
中考英语范文:No Breakfast, No Good
分享[哈佛校长的演讲]Goodbyeandgoodluc
Could you tell me how to get to the National Stadium ?评课稿大纲
怎么更改Google Desktop数据库文件路径
编写谈论考试的对话 Talking about the Examination
Ubuntu上安装GNOME命令行终端Terminator的教程介绍
Adoption of the Declaration of Human Rights演讲稿
badminton是什么意思 badminton中文释义-动画讲解视频
《Mad World》Jasmine Thompson/Eden Prince歌词
How to be a good student英文演讲稿
冀教版三下Lesson28In the bedroom教学反思
教材三年级起点第三册Module8 Sports Day Unit1 What are you going to do
acknowledgements怎么写-英语论文Acknowledgements
Wonder Girls《Nobody》英文歌词高清现场版视频
Unity3d GUI插件 NGUI与Daikon forge GUI的差别大纲
中学生暑假英语作文范文:My unforgettable summer holiday
HR working opportunity-based in(东北-盘锦)-25W/year
PHP数据库连接的方法
PRODUCTIONMANAGER电子简历模板
数据库实验心得(精选多篇)
三年级下册《I don’t like riding bikes》优秀教学案例
数据库工程师
The Dragon Boat Festival
酒店英语:抱怨服务Complaining about the Service
My neighbourhood课后反思
数据库实训总结
六年级英语It`s going to snow in Harbin教程设计
七年级英语评课稿:Module 7 Reading and Speaking
PoloMeeting多媒体视频会议系统V6.19的接入方式
关于暑假计划英语作文:Plan for the Coming Summer Holiday
Genymotion安装教程步骤详解
数据库的意思解释
Planning for the weekend的优秀评课稿
comment什么意思 comment时态变形-词组短语-双语例句
To Be Or Not To Be, That Is the Question英文读后感
unit6 How long have you been collecting shells的评课稿
关于清明节 Tomb Sweeping Day
Amazon Kindle Fire HDX 搭载的 Mojito 系统有革新和体验?
DesignandContext设计文脉解读