65.9K
CodeProject 正在变化。 阅读更多。
Home

将 MongoDB 与 ASP.NET 连接

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.93/5 (15投票s)

2013年9月19日

CPOL

3分钟阅读

viewsIcon

93355

downloadIcon

2204

使用 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 现在已安装。文件夹中有很多文件,但关键文件是……

  1. mongod.exe:Mongo 数据库
  2. mongo.exe:管理 shell
  3. Mongos.exe:分片控制器
现在我们将启动 MongoDB 并创建一个数据库...
  1. 打开命令提示符并转到 mongodb 的目录(您复制 bin 文件夹内容的文件夹)。对于我的,文件夹名称是“mongodb2_4”。
  2. 输入“mongod”并按 Enter 键。然后 MongoDB 已经启动。它默认使用端口“27017”。

  3. 现在打开另一个命令提示符并转到 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 应用程序包含一个带有 buttonlabel 的“create.aspx”页面。

首先,使用包管理器控制台从 nuget 添加“mongocsharpdriver”。

我们必须为 MongoDB 服务器定义连接字符串。默认情况下,它在 27017 端口上运行,如果您指定了其他端口,则必须更改它。因此,将以下代码添加到“web.config”文件中“<configuration></configuration>”内。

  <appSettings>
    <add key="connectionString" value="Server=localhost:27017"/>
  </appSettings>

现在,我们的应用程序已准备好与 MongoDB 通信。

显示姓名”按钮的点击事件将从“test”数据库的“Persons”集合中检索数据。为此,让我们执行以下任务...

  1. 创建帮助类: ‘info’ 类包含 _id,它是一种 ObjectId 类型并使用 MongoDB.BsonpersonIdName 都是 string 类型。
        public class Info
        {
            public ObjectId _id { get; set; }
            public string personId { get; set; }
            public string Name { get; set; }
        } 
  2. 获取数据:在“显示姓名”按钮的点击事件中,让我们声明一个 ‘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 日:初始版本
© . All rights reserved.