• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#中使用1.7版本驱动操作MongoDB简单例子

C#中使用1.7版本驱动操作MongoDB简单例子

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#mongodb,mongodb c#驱动,c#操作mongodb,c#连接mongodb,查看mongodb版本等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

//创建数据库链接
//在1.7的版本驱动中这样写是会报 MongoServer方法已过时的
//MongoServer server =  MongoDB.Driver.MongoServer.Create(strconn); 


//带有用户名,密码的如下写法,不带的则直接ip+端口就可以
const string connectionString = "mongodb://city:liyang@192.168.1.211:27017";
//得到一个客户端对象的引用                    GetServer()对服务器对象的引用          
var Server = new MongoClient(connectionString).GetServer();
//到一个数据库对象的引用
var client = Server.GetDatabase("City");
//对一组对象的引用
var collection = client.GetCollection<citys>("citys");

//插入一个 实体
for (int i = 0; i < dt.Rows.Count; i++)
{
    collection.Insert(new citys
    {
        province = dt.Rows[i][0].ToString(),
        city = dt.Rows[i][1].ToString(),
        county = dt.Rows[i][2].ToString(),
        areacode = "0" + dt.Rows[i][3].ToString(),
        postalcode = dt.Rows[i][3].ToString()
    });
}
</div>

以下是git上的帮助文档  地址是:http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-csharp-driver/
将一个引用添加到c#司机dll

右键单击 引用 文件夹在Visual Studio的解决方案 探险家和选择 添加 参考…… 。 导航到文件夹 c#驱动程序dll被安装并添加一个引用以下 dll:
    MongoDB.Bson.dll
    MongoDB.Driver.dll
</div>
作为一种替代方法可以使用 NuGet 包管理器添加c# 驱动程序包来您的解决方案。
添加所需的 使用 语句

作为一个最低需要使用语句如下:
using MongoDB.Bson;
using MongoDB.Driver;
</div>
此外,您会经常添加一个或多个使用 声明:
using MongoDB.Driver.Builders;
using MongoDB.Driver.GridFS;
using MongoDB.Driver.Linq;
</div>
还有其他名称空间,只会在特殊的需要 用例。
得到一个客户端对象的引用

最简单的方法获得一个客户对象的引用是使用 连接字符串:
var connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
</div>
如果你想将客户端对象存储在一个全局变量。 MongoClient 是线程安全的。
对服务器对象的引用

要从客户端到服务器对象的引用对象,写 这样的:
var server = client.GetServer();
</div>
到一个数据库对象的引用

去到一个数据库对象的引用从服务器对象,写 这样的:
var database = server.GetDatabase("test"); // "test" is the name of the database
</div>
如果您使用多个数据库,调用 GetDatabase 再次为每个 您想要使用数据库。
BsonDocument 对象模型与您自己的域类

有两种方法可以处理集合:

    使用 BsonDocument 对象模型
    使用自己的域类

您将使用 BsonDocument 当数据对象模型 工作是如此的自由形式,它将是困难的或不可能的 定义的域类。

因为它是如此容易使用自己的域类 快速启动将假设你要这样做。 c#驱动程序 提供,他们可以处理您的域类:

    有一个无参数的构造函数
    定义公共读/写数据的字段或属性 存储在数据库中

这些需求在本质上是相同的。net的实施 XmlSerializer。

此外,如果您的域类将被用作根 文档必须包含一个 ID 字段或属性(通常是命名 ID 尽管你可以覆盖,如果必要)。 通常情况下, ID 将类型的 ObjectId ,但没有限制的类型 的成员。

考虑下面的类定义:
public class Entity
{
    public ObjectId Id { get; set; }

    public string Name { get; set; }
}
</div>
对一组对象的引用

你会得到一个包含引用集合 实体 文件是这样的:
// "entities" is the name of the collection
var collection = database.GetCollection<Entity>("entities");
</div>
插入文档

插入一个 实体 :
var entity = new Entity { Name = "Tom" };
collection.Insert(entity);
var id = entity.Id; // Insert will set the Id if necessary (as it was in this example)
</div>
找到一个现有的文档

在这个示例中,我们将读回 实体 假设我们知道 ID 值:
var query = Query<Entity>.EQ(e => e.Id, id);
var entity = collection.FindOne(query);
</div>
查询<单位> .EQ 使用 查询< T > 构建器类来构建 查询。 lambda表达式 E = > e.Id 是翻译 _ID 。 这是 字段的名称存储在数据库中。

请注意

通常的名称字段在数据库中是完全相同的 正如它的名字域类中的字段或属性,但是 ID 是一个例外,映射到吗 _ID 在数据库中。

其他查询操作符包括: GT , 一种 , 在 , LT , LTE , 附近 , 东北 , 和 , 或 (和其他一些更多 专业的)。
保存一个文档

你可以保存更改现有的文档如下:
entity.Name = "Dick";
collection.Save(entity);
</div>
更新现有的文档

另一种选择 保存 是 更

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#中使用1.7版本驱动操作MongoDB简单例子
  • C# 对MongoDB 进行增删改查的简单操作实例

相关文章

  • 2017-05-28为IObservable实现自己的运算符(详解)
  • 2017-05-28C#将隐私信息(银行账户,身份证号码)中间部分特殊字符替换成*
  • 2017-05-28C#实现Access通用访问类OleDbHelper完整实例
  • 2017-05-28C#获取两个数的最大公约数和最小公倍数示例
  • 2017-05-28C#实现在Form里面内嵌dos窗体的方法
  • 2017-05-28C#约瑟夫问题解决方法
  • 2017-05-28RegexOptions.IgnoreCase正则表达式替换,忽略大小写
  • 2017-05-28C#中实现查找mysql的安装路径
  • 2017-05-28DevExpress之ChartControl实现柱状图演示实例
  • 2017-05-28C#获得MAC地址(网卡序列号)的实现代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 程序中两个Double类型相加出现误差的解决办法
    • C#实现将DataTable内容输出到Excel表格的方法
    • C#中foreach语句使用break暂停遍历的方法
    • C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例
    • C# 调用C++写的dll的实现方法
    • C#设置软件开机自动运行的方法(修改注册表)
    • 使用设计模式中的工厂方法模式进行C#编程的示例讲解
    • C#实现抓取和分析网页类实例
    • C#使用Jquery zTree实现树状结构显示 异步数据加载
    • c#剪切板操作的简单实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有