zoukankan      html  css  js  c++  java
  • 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  
  • 相关阅读:
    DataTable:数据库到程序的桥梁
    《Javascript高级程序设计》阅读记录(三):第五章 上
    《Javascript高级程序设计》阅读记录(二):第四章
    javascript获取窗口位置、绝对位置、事件位置等
    《Javascript高级程序设计》阅读记录(一):第二、三章
    调试用随笔
    C#值类型和引用类型
    vue使用vue-awesome-swiper及一些问题
    npm与yarn命令对比
    npm与nrm
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2345888.html
Copyright © 2011-2022 走看看