Asp.net mvc MongoDB:连接ASP.NET MVC应用程序

Asp.net mvc MongoDB:连接ASP.NET MVC应用程序,asp.net-mvc,mongodb,Asp.net Mvc,Mongodb,我已经创建了一个ASP.NET MVC 5应用程序,并将其托管在IIS 7上。我现在想开始在这个应用程序中使用MongoDB数据库。我已经设法让MongoDB Windows服务运行起来,但我现在还不能确定下一步是什么 即: i) 如何在ASP.NET MVC应用程序中指定数据库的名称及其存储目录 ii)如何在MongoDB中创建此数据库 在我的Web.config文件中,我有以下几行: <connectionStrings> <add name="Mongo" con

我已经创建了一个ASP.NET MVC 5应用程序,并将其托管在IIS 7上。我现在想开始在这个应用程序中使用MongoDB数据库。我已经设法让MongoDB Windows服务运行起来,但我现在还不能确定下一步是什么

即:

i) 如何在ASP.NET MVC应用程序中指定数据库的名称及其存储目录

ii)如何在MongoDB中创建此数据库

在我的Web.config文件中,我有以下几行:

<connectionStrings>
    <add name="Mongo" connectionString="mongodb://localhost" />
</connectionStrings>

以及:


那么,我现在如何创建一个名为
mydb
的数据库,以便它在MongoDB Windows服务中运行呢

i) 如何在ASP.NET MVC应用程序中指定数据库的名称及其存储目录

存储它的目录由mongod实例指定,而不是由MVC应用程序指定。启动mongod实例时,您应该具有以下内容:

mongod.exe --dbpath [where your db is stored]
mongodb://localhost/dbName?[options]
要了解有关mongod.exe参数的更多信息,请查看。
数据库的名称在连接字符串中指定。可能是这样的:

mongod.exe --dbpath [where your db is stored]
mongodb://localhost/dbName?[options]
您可以找到整个说明。
然而,我不知道我是否是唯一一个觉得C#driver API有点棘手的人。要初始化MongoClient(顶级数据库对象),大多数人会使用最简单的方法:

MongoClient client = new MongoClient(connStr);
这样,您将永远无法获得数据库名称。要获得它:

MongoUrl url = new MongoUrl(connStr);
MongoClient client = new MongoClient(url);
var dbName = url.DatabaseName  // retrive database name
var db = client.GetServer().GetDatabase(dbName);
通过这种方式,您可以使用连接字符串存储数据库名称。这对我来说似乎很好。但是您当然可以使用另一个appSetting来存储db名称

ii)如何在MongoDB中创建此数据库

你不必这么做。当您第一次将数据插入数据库时,mongod将为您创建数据库以及集合。尽管稍后您可能会发现在某些集合上使用它很有用