NoSQL數據庫—MongoDB入門使用和c#客戶端的訪問

   什麼是NoSql

NoSql,全稱是 Not Only Sql,指的是非關係型的數據庫。下一代數據庫主要解決幾個要點:非關係型的、分佈式的、開源的、水平可擴展的。原始的目的是爲了大規模web應用,這場運動開始於2009年初,通常特性應用如:模式自由、支持簡易複製、簡單的API、最終的一致性(非ACID)、大容量數據等。NoSQL被我們用得最多的當數key-value存儲,當然還有其他的文檔型的、列存儲、圖型數據庫、xml數據庫等。

 

MongoDB數據庫介紹

MongoDB 是一個面向文檔的數據庫系統,使用C++編寫不支持SQL,但有自己功能強大的查詢語法,humongous(極大的)這個單詞的中間部分,可見是海量數據的處理。

MongoDB使用BSON作爲數據存儲和傳輸的格式。BSON是一種類似JSON的二進制序列化文檔,支持嵌套對象和數組。MongoDB很像MySQLdocument對應MySQLrowcollection對應MySQLtable

 

MongoDB的安裝

1.到官方網站:http://www.mongodb.org/downloads 下載windows最新版本,解壓。

2. 建個文件:c:\data\db  (默認數據存儲目錄可以更改bin/mongod.exe --dbpath d:/data/mongo)

3. 運行mongod.exe

這樣就可以看到MongoDB的服務器端:

 
         MongoDB
的客戶端—MongoVUE

    雖然MongoDB自帶了一下工具,MongoVUE 是不錯的一個第三方工具。

http://www.mongovue.com/downloads/下載客戶端,

啓動MongoVUE

連接配置,就可以方便的操作Mongo

 

C#客戶端 訪問MongoDB--- /mongo-csharp-driver

1.       下載驅動

下載地址爲:

http://github.com/mongodb/mongo-csharp-driver/downloads

 

2.    新建一個Console C#的項目,添加引用:

MongoDB.Bson.dll 

MongoDB.Driver.dll

示例代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Bson;
using MongoDB.Driver;

namespace Jeriffe.MongoDB
{
    class Program
    {
        static void Main(string[] args)
        {
            //鏈接字符串
            string connectionString = "mongodb://localhost";

            //數據庫名
            string databaseName = "myDatabase";

            //定義Mongo服務
            MongoServer server = MongoServer.Create(connectionString);

            //獲取databaseName對應的數據庫,不存在則自動創建
            MongoDatabase mongoDatabase = server.GetDatabase(databaseName) as MongoDatabase;

            MongoCollection<BsonDocument> books = mongoDatabase.GetCollection<BsonDocument>("books");


            //鏈接數據庫
            server.Connect();
            try
            {
                BsonDocument book = new BsonDocument 
                {
                    { "author", "Ernest Hemingway" },
                    { "title", "For Whom the Bell Tolls" }
                };
                books.Insert(book);

                var query = new QueryDocument("author", "Ernest Hemingway");
                foreach (BsonDocument bookItem in books.Find(query))
                {
                    Console.WriteLine(book["author"]);
                }
            }
            finally
            {
                //關閉鏈接
                server.Disconnect();
            }
            Console.Read();
        }
    }
}
參考地址:http://www.wentrue.net/blog/?p=772
http://www.cnblogs.com/jeriffe/articles/2079321.html
http://www.fuchaoqun.com/2011/05/why-mongodb/
http://www.cnblogs.com/mamboer/archive/2010/03/05/1679292.html

發佈了24 篇原創文章 · 獲贊 23 · 訪問量 142萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章