MongoDB

系统 1604 0

 

晚上闲来无事,研究了一下最近很火的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 >
< 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
    
  
    
      image
    
  
     
  

Press Add

image

 

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   

MongoDB


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论