1. 程式人生 > >c#.net連線mongodb入門(一)

c#.net連線mongodb入門(一)

1.環境:
windows7
vs2010
2.下載驅動程式
https://github.com/mongodb/mongo-csharp-driver/downloads
我下載的是最新的版本 CSharpDriver-1.7.0.4714.zip
解壓後,將壓縮包中的兩個dll檔案新增到vs工程中
MongoDB.Bson.dll
MongoDB.Driver.dll
3.首先建立對應的實體類

using MongoDB.Bson;

namespace CodeFactory.mongo
{
    class PersonEntity
    {
        public ObjectId _id { get; set; }
        public string name { get; set; }
        public int age { get; set; }  
    }
}

4.啟動mongodb服務
5.連線資訊

//連線資訊
string conn = "mongodb://localhost";
string database = "test";
string collection = "user";

MongoServer mongodb = MongoServer.Create(conn); // 連線資料庫
MongoDatabase mongoDataBase = mongodb.GetDatabase(database); // 選擇資料庫名
MongoCollection mongoCollection = mongoDataBase.GetCollection(collection); // 選擇集合,相當於表

mongodb.Connect();

6.新增資料

PersonEntity person = new PersonEntity();
person.name = "jack6";
person.age = 26;

mongoCollection.Insert(person);
MessageBox.Show("新增成功!");

7.查詢
7.1全部查詢

    string msg = string.Empty;
    // 全部查詢
    MongoCursor<PersonEntity> mc = mongoCollection.FindAllAs<PersonEntity>();
    foreach (PersonEntity person in mc)
    {
        msg += "_id:" + person._id.ToString() + " name:" + person.name.ToString() + " age:" + person.age.ToString() + "\n";
    }
    MessageBox.Show(msg);

7.2單條件查詢

        msg = "";
        // 單條件查詢
        QueryDocument query = new QueryDocument("name", "jack6");
        mc = mongoCollection.FindAs<PersonEntity>(query);
        foreach (PersonEntity person in mc)
        {
            msg += "_id:" + person._id.ToString() + " name:" + person.name.ToString() + " age:" + person.age.ToString() + "\n";
        }
        MessageBox.Show(msg);

7.3多條件查詢

        msg = "";
        // 多條件查詢
        QueryDocument query = new QueryDocument
        {
            {"name", "jack6"},
            {"age", 26}
        };
        mc = mongoCollection.FindAs<PersonEntity>(query);
        foreach (PersonEntity person in mc)
        {
            msg += "_id:" + person._id.ToString() + " name:" + person.name.ToString() + " age:" + person.age.ToString() + "\n";
        }
        MessageBox.Show(msg);

8.更新資料

        // 多條件查詢
        QueryDocument query = new QueryDocument
        {
            {"name", "jack6"},
            {"age", 26}
        };

        // 修改一個值
        //var update = new UpdateDocument {
        //    { "$set", new BsonDocument("age", 30) }
        //};
        // 修改多個值
        var update = new UpdateDocument {
            { "$set", new BsonDocument{
                {"name", "jack7"},
                {"age", 31}
            } }
        };
        mongoCollection.Update(query, update);
        MessageBox.Show("修改成功!");

9.刪除資料

        // QueryDocument query = new QueryDocument("name", "jack7");

        // 多條件查詢
        QueryDocument query = new QueryDocument
        {
            {"name", "jack7"},
            {"age", 31}
        };

        mongoCollection.Remove(query);
        MessageBox.Show("刪除成功!");

以上