概述

  传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。

  在C#中想使用MongoDB我们还需要下载驱动,现在一般比较常见的驱动有官网驱动,samus驱动。samus驱动除了支持一般形式的操作之外,还支持linq方式操纵数据。本文所使用的为官网驱动。官网驱动地址:点击下载

下载完后我们在下载包中可以得到二个DLL:

  MongoDB.Driver.dll  驱动程序

  MongoDB.Bson.dll    序列化、Json相关

实例代码

新增:

//数据库连接字符串
const string connectionString = "mongodb://127.0.0.1:27017";
//数据库
const string Database = "ck_test_db"; MongoClient client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase db = server.GetDatabase(Database);
MongoCollection collection = db.GetCollection("student"); //新增
student stud_Add = new student() { name="赵云", code="", sex="女", age="" };
collection.Insert<student>(stud_Add); //查询
QueryDocument query_sel = new QueryDocument { { "name", "赵云" } };
var list = collection.FindAs<student>(query_sel);
foreach (student item in list)
{
Console.WriteLine("name:{0},code:{1}", item.name, item.code);
}

显示结果:

修改:

//数据库连接字符串
const string connectionString = "mongodb://127.0.0.1:27017";
//数据库
const string Database = "ck_test_db"; MongoClient client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase db = server.GetDatabase(Database);
MongoCollection collection = db.GetCollection("student");
//更新
QueryDocument query_upd = new QueryDocument { { "name", "赵云" } };
IMongoUpdate update = Update.Set("code", "");
collection.Update(query_upd, update);

显示结果:

删除

//数据库连接字符串
const string connectionString = "mongodb://127.0.0.1:27017";
//数据库
const string Database = "ck_test_db"; MongoClient client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase db = server.GetDatabase(Database);
MongoCollection collection = db.GetCollection("student");
//删除
QueryDocument query_del = new QueryDocument { { "name", "赵云" } };
collection.Remove(query_del);

全量代码:

static void Main(string[] args)
{
//数据库连接字符串
const string connectionString = "mongodb://127.0.0.1:27017";
//数据库
const string Database = "ck_test_db"; MongoClient client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase db = server.GetDatabase(Database);
MongoCollection collection = db.GetCollection("student"); //新增
student stud_Add = new student() { name="赵云", code="", sex="女", age="" };
collection.Insert<student>(stud_Add); //更新
QueryDocument query_upd = new QueryDocument { { "name", "赵云" } };
IMongoUpdate update = Update.Set("code", "");
collection.Update(query_upd, update); //删除
QueryDocument query_del = new QueryDocument { { "name", "赵云" } };
collection.Remove(query_del); //查询
QueryDocument query_sel = new QueryDocument { { "name", "赵云" } };
var list = collection.FindAs<student>(query_sel);
foreach (student item in list)
{
Console.WriteLine("name:{0},code:{1}", item.name, item.code);
}
} public class student
{
public ObjectId _id; //BsonType.ObjectId 这个对应了 MongoDB.Bson.ObjectId
public string name { get; set; }
public string code { get; set; }
public string sex { get; set; }
public string age { get; set; } /*_id 属性必须要有,否则在更新数据时会报错:“Element '_id' does not match any field or property of class”。*/
}

基础的增删改查就是上面所述。

实例代码:点击下载

C# mongodb [下]的更多相关文章

  1. 3.MongoDB下Windows下的安装

    由于博主目前使用的是Windows的系统,没有使用Linux等其它的系统,因此此安装配置和开发使用,均是在Windows下进行的,以后在使用其它的系统的时候,再将其它系统的配置的使用补充上来. 1.下 ...

  2. MongoDB下配置用户权限

    MongoDB默认设置为无权限訪问限制 注:研究成果基于Windows平台 在部署mongodb成功后.进入控制台: 输入命令:mongod  use admin,你会发现该DB下包括了一个syste ...

  3. 【Mongodb教程 第一课补加课2 】MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法

    如图,如果通过下列代码,添加服务后,使用net start命令出现这样的问题时,可以参考下我的解决方法. D:\MongoDB>mongod --dbpath D:\MongoDB\Data - ...

  4. windows环境下mongodb下权限设置

    1.创建超级用户 超级用户位于admin集合下. use admin db.createUser({ user:'admin', pwd:'123456', roles:[{role:'root',d ...

  5. MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法

    摘要:https://www.cnblogs.com/luoguixin/p/6291408.html 欢迎转载,若需转载请标明出处:https://www.cnblogs.com/luoguixin ...

  6. MongoDB下Map-Reduce使用简单翻译及示例

    目录 Map-Reduce JavaScript 函数 Map-Reduce 行为 一个简单的测试 原文地址https://docs.mongodb.com/manual/core/map-reduc ...

  7. MongoDB下,启动服务

    D:\MongoDB>mongod --dbpath D:\MongoDB\Data --logpath D:\MongoDB\Log\MongoDB.log --logappend --ser ...

  8. mongodb下cpu高的查询方式(慢查询)

    1.查看mongodb进程 ps-ef | grep mongo 获取进程id为3267 2.查看进程的线程 top -p 3267 按shift+h 查看cpu高的线程,发现有线程点用cpu高且cp ...

  9. MongoDB笔记(二):MongoDB下Shell的基本操作

    一.mongoDB与关系型数据库对比 对比项              mongoDB             关系型数据库(oracle.mysql) 表 集合List 二维表table 表的一行数 ...

随机推荐

  1. ASP.NET发布WebService

    1. 创建一个空的Web应用程序 2. 再添加一个Web服务 3. 在所创建Web服务内,编写一算法 4. 写完可直接运行查看结果 5. 项目->右键,发布此WebService 6.  发布至 ...

  2. 【学习笔记】【C语言】第一个C程序

    1.新建C语言程序 *打开Xcode  *新建文件  *选择C语言程序  *输入程序名称  *选择存放路径  *创建完成后  2.也可以用终端来创建  通过指令来创建.c文件   3.编写代码  4. ...

  3. asp.net 客户邮件群发功能 SendMail 发送静态化html

    背景:现在几乎每个企业都要用到邮箱,而在大客户量情况下,为我们的不同等级的客户送上节日关怀,以及把我们的喜讯.新品通知到他们是我们急需解决的问题.效果如图 思路: 1.静态化网页模版,首先考虑需要发送 ...

  4. jquery的延迟加载插件Lazy Load Plugin for jQuery

    下载:https://github.com/tuupola/jquery_lazyload 使用:http://www.appelsiini.net/projects/lazyload 翻译:http ...

  5. JCrop+ajaxUpload 图像切割上传

    先看效果 需要的文件下载 链接:http://pan.baidu.com/s/1b8SI6M 密码:59ct 页面代码 里面用户的uuid是写死的test <%@ page language=& ...

  6. Java 字节流实现文件读写操作(InputStream-OutputStream)

    Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...

  7. 链接与ELF文件格式的复习

    在这里复习一下链接的知识: 什么是链接(linking):把源代码形成的模块独立编译后组装成一个整体的的过程叫做链接. 链接主要过程包括:地址和空间分配(address and storage all ...

  8. 这是html5中WebGL的演示

    这是html5中WebGL的演示,让我们与他人分享爱您发送短消息.每次你进入它使用不同的位置,新的爱情点被添加到全球.让世界更明亮的地方与你的朋友分享! 源文件:部分代码:<!DOCTYPE h ...

  9. 如何通过jquery隐藏和显示元素

    以下几种方式可以隐藏一个元素:1,CSS display的值是none.2,type="hidden"的表单元素.3,宽度和高度都显式设置为0.4,一个祖先元素是隐藏的,该元素是不 ...

  10. linux下配置tomcat7 + solr4.9(续)--- 多核索引的配置

    在上一篇文章中(详见http://www.cnblogs.com/bxljoy/p/3850263.html),我们已经介绍了tomcat+solr的索引服务器的配置,但是文中创建的服务器只能支持存储 ...