• MongoDB


     

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

    补上项目下载:

    https://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  
  • 相关阅读:
    Visual C++6.0 调用Visual Basic 6.0写的Microsoft Communications Control(ActiveX)的使用疑难及解决办法
    Associating Icons with a Category 与 恶作剧软件 有关系吗?
    WPF/Silverlight Button Styles and Templates
    Notepad++ 备忘录一
    冥思苦想,木疙瘩也能崩出个豆:扯一下各大软件的用户体验
    生活小窍门。
    Bug验证:.Net 4 下,貌似发现一个bug。如果是真,.Net组的员工该打屁股。
    两台硬件和软件配置完全相同的机器A和B,现在要用系统自带的Copy功能把A上的一个文件,复制到B上。在哪台机器上执行程序,效率更高?
    WPF 遍历 DataGrid 每行的控件
    IE ActiveX Control 和RIA
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2345888.html
Copyright © 2020-2023  润新知