晚上闲来无事,研究了一下最近很火的MongoDB。感受只有一个:“自由”。
闲话略过,先让MongoDB在Win7 64下跑起来:
1. MongoDB主页
http://www.mongodb.org/
2. 下载
http://downloads.mongodb.org/win32/mongodb-win32-x86_64-1.8.1.zip
3. 解压
e.g. H:\mongodb-win32-x86_64-1.8.1
4. 准备目录
e.g. H:\mongo\data --保存数据库文件 H:\mongo\logs --保存log,在此目录下手动创建一个log.txt
5. 安装
Win键,输入cmd,右键-Run as Administrator
cd H:\mongodb-win32-x86_64-1.8.1\bin
H:
mongod --bind_ip 127.0.0.1 --logpath H:\mongo\logs\log.txt --logappend --dbpath H:\mongo\data --directoryperdb –install
net start “MongoDB”
成功。
6. 测试安装
在之前的CMD窗口中输入:mongo
应该能无异常进入query界面
输入一个3+3,应该能得到6
关掉cmd,这玩意儿没用了。
7. 下载.Net Connector
https://github.com/mongodb/mongo-csharp-driver/archives/master
解压
打开CSharpDriverSetup-2010.sln
Build
失败
删除DriverSetup中对CHM的引用
重新编译,成功
右键DriverSetup – Install
下一步下一步下一步。。。
8. 创建Asp.Net MVC3 Empty project
若无,请自行安装MVC3的TOOL
9. Add ConnectionString in web.config
<
connectionStrings
>
<
add
name
="MongoDB"
connectionString
="mongodb://localhost/test"
/>
</connectionStrings>
10. Add Controller
Controller with empty read/write actions
11. Access to the DB
private
MongoDatabase GetDB()
{
return
MongoDatabase.Create(ConfigurationManager.ConnectionStrings[
"
MongoDB
"
].ConnectionString);
}
12. Create Action
[HttpPost]
public
ActionResult Create(FormCollection collection)
{
try
{
var db
=
GetDB();
foreach
(var key
in
collection.AllKeys)
{
db[
"
testTable
"
].Insert(
new
MongoDB.Bson.BsonDocument{
{key, collection[key]}
});
}
return
RedirectToAction(
"
Index
"
);
}
catch
{
return
View();
}
}
13. Index Action
public
ActionResult Index()
{
try
{
var db
=
GetDB();
var testTable
=
db[
"
testTable
"
].FindAll();
var result
=
new
StringBuilder();
foreach
(var testData
in
testTable)
{
foreach
(var property
in
testData.Names)
{
result.AppendFormat(
"
{0}:{1}
"
, property, testData[property]);
}
result.Append(
"
<br />
"
);
}
return
Content(result.ToString());
}
catch
{
return
View();
}
}
14. Create Views under Views/Home/
Create.cshtml:
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<
h2
>
Create
</
h2
>
<
form
method
="post"
action
="/Home/Create"
>
Name:
<
input
name
="name"
type
="text"
/><
br
/>
Age:
<
input
name
="age"
type
="text"
/><
br
/>
Gender:
<
input
name
="gender"
type
="text"
/><
br
/>
Married:
<
input
name
="married"
type
="text"
/><
br
/>
<
input
type
="submit"
value
="Add"
/>
</
form
>
Index.cshtml
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<
h2
>
Index
</
h2
>
<
a
href
="Create"
>
Create New
</
a
>
15. Modify Global.asax.cs
routes.MapRoute(
"
Default
"
,
//
Route name
"
{controller}/{action}/{id}
"
,
//
URL with parameters
new
{ controller
=
"
Home
"
, action
=
"
Create
"
, id
=
UrlParameter.Optional }
//
Parameter defaults
);
11. Build & Run
Press Add
All Done. Happy and enjoy.
补上项目下载:
http://files.cnblogs.com/pandora/MvcApplication1.zip
当前标签: MongoDB
MongoDB on Asp.Net MVC3–CRUD
Pandora 2011-05-28 20:02 阅读:1769 评论:6
MongoDB on Asp.Net MVC3
Pandora 2011-05-26 23:15 阅读:2922 评论:14