zoukankan      html  css  js  c++  java
  • 在c#中使用mongo-csharp-driver操作mongodb

    1)下载安装
    下载地址:http://github.com/mongodb/mongo-csharp-driver/downloads
    编译之后得到两个dll
    MongoDB.Driver.dll:顾名思义,驱动程序
    MongoDB.Bson.dll:序列化、Json相关
    引用这两个dll。
    2)连接数据库:
    在连接数据库之前请先确认您的MongoDB已经开启了。
    //数据库连接字符串
    const string strconn = "mongodb://127.0.0.1:27017";
    //数据库名称
    const string dbName = "testdb";
    //创建数据库链接
    MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
    //获得数据库test
    MongoDatabase db = server.GetDatabase(dbName);

    3)插入数据:
    好了数据打开了,现在得添加数据了,我们要添加一条User“记录”到 Users集合中。
    在MongoDB中没有表的概念,所以在插入数据之前不需要创建表。
    但我们得定义好要插入的数据的模型Users
    Users.cs:
        public class Users
        {
            public ObjectId _id;//BsonType.ObjectId 这个对应了 MongoDB.Bson.ObjectId
      public string Name { get; set; }
            public string Sex { set; get; }
        }
    _id 属性必须要有,否则在更新数据时会报错:“Element '_id' does not match any field or property of class”。
    添加数据的代码:
    public void Insert()
    {
        //创建数据库链接
    MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
        //获得数据库test
    MongoDatabase db = server.GetDatabase(dbName);
        Users users = new Users();
        users.Name = "test";
        users.Sex = "man";
        //获得Users集合,如果数据库中没有,先新建一个
    MongoCollection col = db.GetCollection("Users");
        //执行插入操作
    col.Insert<Users>(users);
    }

    4)更新数据
    public void Update()
    {
        //创建数据库链接
    MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
        //获得数据库test
    MongoDatabase db = server.GetDatabase(dbName);
        //获取Users集合
    MongoCollection col = db.GetCollection("Users");
        //定义获取“Name”值为“test”的查询条件
    var query = new QueryDocument { { "Name", "test" } };
        //定义更新文档
    var update = new UpdateDocument { { "$set", new QueryDocument { { "Sex", "wowen" } } } };
        //执行更新操作
    col.Update(query, update);
    }

    5)删除数据
    public void Delete()
    {
        //创建数据库链接
    MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
        //获得数据库test
    MongoDatabase db = server.GetDatabase(dbName);
        //获取Users集合
    MongoCollection col = db.GetCollection("Users");
        //定义获取“Name”值为“test”的查询条件
    var query = new QueryDocument { { "Name", "test" } };
        //执行删除操作
    col.Remove(query);
    }

    6)查询数据
    public void Query()
    {
        //创建数据库链接
    MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);
        //获得数据库test
    MongoDatabase db = server.GetDatabase(dbName);
        //获取Users集合
    MongoCollection col = db.GetCollection("Users");
        //定义获取“Name”值为“test”的查询条件
    var query = new QueryDocument { { "Name", "test" } };
        //查询全部集合里的数据
    var result1 = col.FindAllAs<Users>();
        //查询指定查询条件的第一条数据,查询条件可缺省。
    var result2 = col.FindOneAs<Users>();
        //查询指定查询条件的全部数据
    var result3 = col.FindAs<Users>(query);
    }

  • 相关阅读:
    C#学习笔记
    Visual Studio 快捷键
    java 8 中lambda表达式学习
    Spfa算法
    dijkstra算法
    topSort
    并查集--学习详解
    trie树--详解
    POJ1988 并查集的使用
    Mybatis的一级缓存和二级缓存
  • 原文地址:https://www.cnblogs.com/99app/p/3477966.html
Copyright © 2011-2022 走看看