关系型数据库:做任何的增删改查都要开启隐式实务来维持数据的完整性,占用磁盘空间比较大;
上面所说的隐式实务是数据库本身开启的,是不能由开发者去操作的;说到隐式实务,就会有人问道显示实务,显示实务是由开发者在代码中控制开启的事务,必须要有commit或者rollback;比如ADO中的SqlConnection con=new SqlConnection();var tran=con.BeginTrancation();tran.Commit();tran.Rollback()对象开启事务;这些语句就是显示实务语句。所以一条SQL语句在工作的时候需要开启隐式实务;那么在使用关系型数据库的时候会影响他的查询速度。
NoSql(Not Only SQL):非关系型数据库,现在比较流行使用的非关系型数据库Redis(键值对存储数据库)、MongoDB(文档型数据库)。
下面来说MongoDB的那些事吧。。。。。。
MongoDB 连接字符串格式:IP地址+端口号(默认27017,28017);例如:Server=127.0.0.1:27017
一、增加一条数据
// 首先创建一个连接
using (Mongo server = new Mongo(connString))
{
//打开连接
server.Connect();
// 切换到指定的数据库
var db = server.GetDatabase(dbName);
//获取Info的集合
var list = db.GetCollection<Info>();
//新增一条数据
Info model = new Info()
{
ID = 2,
Name = "海山来客"
};
list.Insert(model);
}
二、删除数据
using (Mongo server = new Mongo(connString))
{
server.Connect();
var db = server.GetDatabase(dbName);
var coll = db.GetCollection<Info>();
coll .Remove(c => c.ID == 1);
}
三、修改数据
using (Mongo server = new Mongo(connString))
{
server.Connect();
var db = server.GetDatabase(dbName);
var collection = db.GetCollection<Info>();
//var model=collection.Find<Info(c=>c.ID==1).Documents.First();
//model.Name = "海山来客";
Info model = new Info() { ID=2, Name="海山来客" };
collection.Update<Info>(model, c => c.ID == model.ID);
}
四、查询数据
using (Mongo server = new Mongo(connString))
{
//打开连接
server.Connect();
// 切换到指定的数据库
var db = server.GetDatabase(dbName);
//获取Info的集合
var list = db.GetCollection<Info>();
var whereList = list.Find(c => c.ID == 2);
var grouinfo = whereList.Documents。tolist();
}
收集到的一些比较基础的案例:
文档地址:http://blog.csdn.net/dannywj1371/article/details/7440916
http://www.360doc.com/content/14/0505/11/16021371_374739036.shtml