//创建数据库链接 //在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() }); }
以下是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
作为一个最低需要使用语句如下:
using MongoDB.Bson; using MongoDB.Driver;
using MongoDB.Driver.Builders; using MongoDB.Driver.GridFS; using MongoDB.Driver.Linq;
最简单的方法获得一个客户对象的引用是使用 连接html" target="_blank">字符串:
var connectionString = "mongodb://localhost"; var client = new MongoClient(connectionString);
要从客户端到服务器对象的引用对象,写 这样的:
var server = client.GetServer();
去到一个数据库对象的引用从服务器对象,写 这样的:
var database = server.GetDatabase("test"); // "test" is the name of the database
有两种方法可以处理集合:
使用 BsonDocument 对象模型
使用自己的域类
您将使用 BsonDocument 当数据对象模型 工作是如此的自由形式,它将是困难的或不可能的 定义的域类。
因为它是如此容易使用自己的域类 快速启动将假设你要这样做。 c#驱动程序 提供,他们可以处理您的域类:
有一个无参数的构造函数
定义公共读/写数据的字段或属性 存储在数据库中
这些需求在本质上是相同的。net的实施 XmlSerializer。
此外,如果您的域类将被用作根 文档必须包含一个 ID 字段或属性(通常是命名 ID 尽管你可以覆盖,如果必要)。 通常情况下, ID 将类型的 ObjectId ,但没有限制的类型 的成员。
考虑下面的类定义:
public class Entity { public ObjectId Id { get; set; }public string Name { get; set; } }
你会得到一个包含引用集合 实体 文件是这样的:
// "entities" is the name of the collection var collection = database.GetCollection<Entity>("entities");
插入一个 实体 :
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)
在这个示例中,我们将读回 实体 假设我们知道 ID 值:
var query = Query<Entity>.EQ(e => e.Id, id); var entity = collection.FindOne(query);
请注意
通常的名称字段在数据库中是完全相同的 正如它的名字域类中的字段或属性,但是 ID 是一个例外,映射到吗 _ID 在数据库中。
其他查询操作符包括: GT , 一种 , 在 , LT , LTE , 附近 , 东北 , 和 , 或 (和其他一些更多 专业的)。
保存一个文档
你可以保存更改现有的文档如下:
entity.Name = "Dick"; collection.Save(entity);
另一种选择 保存 是 更新 。 所不同的是, 保存 将整个文档发送回服务器,但是 更新 发的变化。 例如:
var query = Query<Entity>.EQ(e => e.Id, id); var update = Update<Entity>.Set(e => e.Name, "Harry"); // update modifiers collection.Update(query, update);
删除一个现有的文档集合你写:
var query = Query<Entity>.EQ(e => e.Id, id); collection.Remove(query);
c#司机有一个连接池使用连接到服务器 效率。 不需要电话 连接 或 断开 ; 让司机照顾连接(调用 连接 是无害的,但是打电话呢 断开 是不好的,因为它关闭 连接池中的连接)。
完整的示例程序
using System; using System.Collections.Generic; using System.Linq; using System.Text;using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Builders;
namespace ConsoleApplication1 { public class Entity { public ObjectId Id { get; set; } public string Name { get; set; } }
class Program { static void Main(string[] args) { var connectionString = "mongodb://localhost"; var client = new MongoClient(connectionString); var server = client.GetServer(); var database = server.GetDatabase("test"); var collection = database.GetCollection<Entity>("entities");
var entity = new Entity { Name = "Tom" }; collection.Insert(entity); var id = entity.Id;
var query = Query<Entity>.EQ(e => e.Id, id); entity = collection.FindOne(query);
entity.Name = "Dick"; collection.Save(entity);
var update = Update<Entity>.Set(e => e.Name, "Harry"); collection.Update(query, update);
collection.Remove(query); } } }
本文向大家介绍MongoDB入门教程之C#驱动操作实例,包括了MongoDB入门教程之C#驱动操作实例的使用技巧和注意事项,需要的朋友参考一下 作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者, 因为提供了丰富的linq操作,相当方便。 官方驱动:https://github.com/mongodb/mongo-cshar
本文向大家介绍node.js操作mongodb简单示例分享,包括了node.js操作mongodb简单示例分享的使用技巧和注意事项,需要的朋友参考一下 前两篇文章我们介绍了nodejs操作redis和MySQL,下面简要测试一下nodejs操作mongodb: 首先安装nodejs mongodb 代码
本文向大家介绍C#简单操作MongoDB的步骤全纪录,包括了C#简单操作MongoDB的步骤全纪录的使用技巧和注意事项,需要的朋友参考一下 前言 MongoDB是一款由C++编写的高性能、开源、无模式的常用非关系型数据库产品,是非关系数据库当中功能最丰富、最像关系数据库的数据库。它扩展了关系型数据库的众多功能,例如:辅助索引、范围查询、排序等。 MongoDB主要解决的是海量数据的访问效率问题,它
本文向大家介绍php mongodb操作类 带几个简单的例子,包括了php mongodb操作类 带几个简单的例子的使用技巧和注意事项,需要的朋友参考一下 之前呐喊教程已经发过几篇类似的文章,大家可以参考一下。 核心代码:
本文向大家介绍C# 操作 MongoDB的示例demo,包括了C# 操作 MongoDB的示例demo的使用技巧和注意事项,需要的朋友参考一下 今项目使用Mongodb,C#操作MongoDB使用MongoDB.Driver.dll库(Nuget),写了个小Demo,如下: 注:时间类型的属性,存入MongoDB后会比北京时间少8小时,是由于默认写入的是世界标准时间,可在时间类型属性上添加 [Bs
本文向大家介绍C#中简单的装箱操作实例分析,包括了C#中简单的装箱操作实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#中简单的装箱操作。分享给大家供大家参考。具体如下: C#中装箱是:容许将值类型作为引用类型(比如:对象)进行处理的过程。 下面的代码非常简单,可将一个整数转换成Object 希望本文所述对大家的C#程序设计有所帮助。