将 MongoDB 与 ASP.NET 连接






4.93/5 (15投票s)
使用 MongoDB 的启动 ASP.NET 应用程序
引言
本文展示了如何在 Windows 中安装 MongoDB 并使用 ASP.NET 进行通信。简单的 ASP.NET 应用程序从 MongoDB 检索数据。
安装 MongoDB
在 Windows 中安装 MongoDB 非常简单。只需按照以下步骤操作即可运行它
- 从“https://mongodb.ac.cn/downloads”下载 Windows 版 MongoDB。
64 位 2008R2+ 非常有用,因为它使用名为“slim”的 Windows API。64 位 2008R2+ 需要 *WINDOWS SERVER 2008 R2* 及更高版本以及 *WINDOWS 7* 及更高版本。如果您不符合要求,请使用其他版本。
中间数字为偶数的表示稳定版本。 - 下载 .zip 文件后,将其解压缩。里面有一个 bin 文件夹。
- 在 C: 目录中,创建一个文件夹,重命名它,并将所有文件从 bin 文件夹复制到此文件夹中。
就这样。MongoDB 现在已安装。文件夹中有很多文件,但关键文件是……
- mongod.exe:Mongo 数据库
- mongo.exe:管理 shell
- Mongos.exe:分片控制器
- 打开命令提示符并转到 mongodb 的目录(您复制 bin 文件夹内容的文件夹)。对于我的,文件夹名称是“mongodb2_4”。
- 输入“mongod”并按 Enter 键。然后 MongoDB 已经启动。它默认使用端口“27017”。
- 现在打开另一个命令提示符并转到 mongodb 的目录。输入“mongo localhost\test”。此命令将简单地创建 test 数据库。
MongoDB 是无模式的,不包含表或关系。它维护数据集合。所以,为了简单起见,我们现在将在“test
”数据库中创建一个“Persons
”集合,其中包含一个人“personId = P1 and Name = Anonymous
”。只需编写以下命令...
db.persons.insert({personId:”P1”,Name:”Anonymous”})
因此,现在 test
数据库包含带有人员的“Persons
”集合。
Using the Code
这个简单的 ASP.NET 应用程序包含一个带有 button
和 label
的“create.aspx”页面。
首先,使用包管理器控制台从 nuget 添加“mongocsharpdriver
”。
我们必须为 MongoDB 服务器定义连接字符串。默认情况下,它在 27017 端口上运行,如果您指定了其他端口,则必须更改它。因此,将以下代码添加到“web.config”文件中“<configuration></configuration>
”内。
<appSettings>
<add key="connectionString" value="Server=localhost:27017"/>
</appSettings>
现在,我们的应用程序已准备好与 MongoDB 通信。
“显示姓名”按钮的点击事件将从“test
”数据库的“Persons
”集合中检索数据。为此,让我们执行以下任务...
创建帮助类
: ‘info
’ 类包含_id
,它是一种ObjectId
类型并使用MongoDB.Bson
,personId
,Name
都是string
类型。public class Info { public ObjectId _id { get; set; } public string personId { get; set; } public string Name { get; set; } }
获取数据
:在“显示姓名”按钮的点击事件中,让我们声明一个 ‘names
’ 类型的 ‘Info
’ 类列表。List<Info> names = new List<Info>();
使用 连接字符串 创建
MongoServer
的实例。MongoServer server = MongoServer.Create(ConfigurationManager.AppSettings["connectionString"]);
获取数据库名称
MongoDatabase myDB = server.GetDatabase("test");
现在,我们准备好从“
test
”数据库中获取“persons
”集合MongoCollection<Info> Persons = myDB.GetCollection<Info>("persons");
遍历集合,我们得到每个人并将其添加到“names”列表中
foreach(Info Aperson in Persons.FindAll()) { name = name+" "+Aperson.Name; names.Add(Aperson); }
为了简单起见,我们只从集合中获取姓名,并使用
nameLabel
显示它nameLabel.Text = name;
关注点
这只是一个使用 ASP.NET 中的 MongoDB
的启动项目。跳转到 Mongo 的无模式世界。我对它的惊人能力感到惊讶。
历史
- 2013 年 9 月 20 日:初始版本