C# mongodb [下]
概述
传统的关系数据库一般由数据库(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 [下]的更多相关文章
- 3.MongoDB下Windows下的安装
由于博主目前使用的是Windows的系统,没有使用Linux等其它的系统,因此此安装配置和开发使用,均是在Windows下进行的,以后在使用其它的系统的时候,再将其它系统的配置的使用补充上来. 1.下 ...
- MongoDB下配置用户权限
MongoDB默认设置为无权限訪问限制 注:研究成果基于Windows平台 在部署mongodb成功后.进入控制台: 输入命令:mongod use admin,你会发现该DB下包括了一个syste ...
- 【Mongodb教程 第一课补加课2 】MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法
如图,如果通过下列代码,添加服务后,使用net start命令出现这样的问题时,可以参考下我的解决方法. D:\MongoDB>mongod --dbpath D:\MongoDB\Data - ...
- windows环境下mongodb下权限设置
1.创建超级用户 超级用户位于admin集合下. use admin db.createUser({ user:'admin', pwd:'123456', roles:[{role:'root',d ...
- MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法
摘要:https://www.cnblogs.com/luoguixin/p/6291408.html 欢迎转载,若需转载请标明出处:https://www.cnblogs.com/luoguixin ...
- MongoDB下Map-Reduce使用简单翻译及示例
目录 Map-Reduce JavaScript 函数 Map-Reduce 行为 一个简单的测试 原文地址https://docs.mongodb.com/manual/core/map-reduc ...
- MongoDB下,启动服务
D:\MongoDB>mongod --dbpath D:\MongoDB\Data --logpath D:\MongoDB\Log\MongoDB.log --logappend --ser ...
- mongodb下cpu高的查询方式(慢查询)
1.查看mongodb进程 ps-ef | grep mongo 获取进程id为3267 2.查看进程的线程 top -p 3267 按shift+h 查看cpu高的线程,发现有线程点用cpu高且cp ...
- MongoDB笔记(二):MongoDB下Shell的基本操作
一.mongoDB与关系型数据库对比 对比项 mongoDB 关系型数据库(oracle.mysql) 表 集合List 二维表table 表的一行数 ...
随机推荐
- windows Api AlphaBlend的使用方法
很早的时候公司里开发了个c++客户端软件,需要支持windows2000,要求简单小巧,并且不希望引入其他界面库,图形引擎之类的东西,像gdi+之类的,于是对于美工做出来的一些界面,需要有alpha通 ...
- DCL,DDL,DML,DQL
DCL(Data Control Language)是数据库控制语言. 是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句. 在默认状态下,只有sysadmi ...
- python:浅析python 中__name__ = '__main__' 的作用
有句话经典的概括了这段代码的意义: “Make a script both importable and executable” 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可 ...
- 初识sass
大图:http://images2015.cnblogs.com/blog/730765/201605/730765-20160529113743209-72994369.png
- 杭电ACM2080--夹角有多大II
http://acm.hdu.edu.cn/showproblem.php?pid=2080 /* //Author:nunu // #include <stdio.h> #include ...
- JAVA泛型? T K V E含义
? 表示不确定的java类型,类型是未知的. T 表示java类型. K V 分别代表java键值中的Key Value. E 代表Element,特性是枚举.
- windows phone 8 开发系列(三)程序清单说明与配置
一 清单文件内容介绍 当我们先建了一个项目之后,我们可以看到vs自动会为我们创建了很多文件,正常人都会先一个个去翻看下每个文件都是干啥的,都主要写了些啥,在这些文件中,在Properies目录下面,我 ...
- vim 安装与运行以及代码的运行
vi功能是最弱的,也是*nix操蛋之后最基本的editor.后来vi被增强加入众多特性,这就是vim.再后来vim加入图形接口,gvim诞生了.功能最强的是gvim,它的很多特性vim并不支持,vi更 ...
- Thinkphp整合最新Ueditor编辑器
说到最新的富文本编辑器的确不少(ckeditor.fkeditor.ueditor),这些富文本编辑器如果单独使用基本上很方便,不需要做额外的配置,只要把官方的插件下载下来放到一个web容器中,看看 ...
- PHP获取当前日期或指定日期的所在月的第一天和最后一天
<?php function getthemonth($date) { $firstday = date('Y-m-01', strtotime($date)); $lastday = date ...