Mongodb基本操作之.net
1、下载官方for C#驱动
2、导入2个dll文件
3、连接字符串
<add key="MongoConn" value="mongodb://127.0.0.1:27017"/>
<add key="Database" value="mytest"/>
4、获取MongoDatabase对象
public static MongoDatabase GetMongoDatabase()
{
MongoClient mongoClient = new MongoClient(ConfigurationManager.AppSettings["MongoConn"]);
MongoServer mongoServer = mongoClient.GetServer();
return mongoServer.GetDatabase(ConfigurationManager.AppSettings["Database"]);
}
5、新建Model对象
可以指定,表中的实际字段名称
[BsonElement("_id")]
public ObjectId Id { get; set; }
[BsonElement("name")]
public string Name { get; set; }
[BsonElement("sex")]
public string Sex { get; set; }
[BsonElement("sec")]
public string Sec { get; set; }
[BsonElement("sd")]
public string Sd { get; set; }
[BsonElement("age")]
public int Age { get; set; }
6、查询
//IMongoQuery query= Query.EQ("name", "hao"); 查询条件
MongoCursor<UserModel> res = MongoHelper.GetMongoDatabase().GetCollection("users").FindAllAs<UserModel>();
ViewData.Model = res;
return View();
7、插入封装的Model对象
public ActionResult Insert(UserModel userModel)
{
WriteConcernResult res= MongoHelper.GetMongoDatabase().GetCollection("users").Insert(userModel);
if (res.Ok)
{
return Json("添加成功",JsonRequestBehavior.AllowGet);
}
return Json("添加失败", JsonRequestBehavior.AllowGet); }
8、根据objectId删除
IMongoQuery query = Query.EQ("_id", new BsonObjectId(id));
WriteConcernResult res= MongoHelper.GetMongoDatabase().GetCollection("users").Remove(query);
if (res.Ok)
{
return Json("删除成功", JsonRequestBehavior.AllowGet);
}
return Json("删除失败", JsonRequestBehavior.AllowGet);
9、更新数据
可以使用save方法或者update方法,save方法比较方便。
public ActionResult Edit(string id)
{
UserModel res =
MongoHelper.GetMongoDatabase().GetCollection("users").FindOneByIdAs<UserModel>(new BsonObjectId(id));
ViewData.Model = res;
return View();
} [HttpPost]
public ActionResult Edit(UserModel userModel,string Id)
{ //此处UserModel的id不能获取 要转成ObjectId
userModel.Id=new ObjectId(Id);
//save操作会根据id更新 有相同id更新 没有匹配的添加
WriteConcernResult res = MongoHelper.GetMongoDatabase().GetCollection("users").Save(userModel);
//也可使用下面的方法
//WriteConcernResult res = MongoHelper.GetMongoDatabase().GetCollection("users").Update(Query.EQ("_id", new BsonObjectId(userModel.Id)), new UpdateDocument(userModel.ToBsonDocument()));
if (res.Ok)
{
return Json("更新成功", JsonRequestBehavior.AllowGet);
}
return Json("更新失败", JsonRequestBehavior.AllowGet);
}
Mongodb基本操作之.net的更多相关文章
- MongoDB 基本操作和聚合操作
一 . MongoDB 基本操作 基本操作可以简单分为查询.插入.更新.删除. 1 文档查询 作用 MySQL SQL MongoDB 所有记录 SELECT * FROM users; db ...
- 【MongoDB详细使用教程】二、MongoDB基本操作
目录 数据类型 数据库操作 集合操作 数据操作 增 查 改 修改整行 修改指定字段的值 删 数据类型 MongoDB常见类型 说明 Object ID 文档ID String 字符串,最常用,必须是有 ...
- MongoDB【第三篇】MongoDB基本操作
MongoDB的基本操作包括文档的创建.删除.和更新 文档插入 1.插入 #查看当前都有哪些数据库 > show dbs; local 0.000GB tim 0.000GB #使用 tim数据 ...
- mongodb基本操作的学习
1.基本操作: 如何安装?创建存放数据的文件夹 robomongo: 图形化管理工具 create -->save -->connect 创建数据库:use Database_name 检 ...
- 30分钟让你了解MongoDB基本操作
今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集 ...
- mongodb基本操作及存储图片显示方案
先介绍下mongodb的基本操作及使用 第一部:开启安全性验证 如果需要给MongoDB数据库使用安全验证,则需要用--auth开启安全性检查,则只有数据库认证的用户才能执行读写操作,开户安全性检查, ...
- 30分钟让你了解MongoDB基本操作(转)
今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集 ...
- MongoDB基本操作(包括插入、修改、子节点排序等)
一.基本操作 1.新增文章 db.article.insert({title:"今天天气很好",content:"我们一起去春游",_id:1}) 2.新增一条 ...
- MongoDB(课时3 MongoDB基本操作)
3.3 MongoDB的基本操作 在MongoDB数据库里面存在数据库的概念,但没有模式(所有的信息都是按照文档保存的),保存数据的结构是BSON结构,只不过在进行一些数据处理的时候才会使用到Mong ...
- 2 Mongodb基本操作
1.基本操作 MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成 MongoDB文档类似于JSON对象,字段值可以包含其他文档.数组.文档数组 安装管理mongod ...
随机推荐
- css3动画和jquery动画使用中要注意的问题
前一阵子写demo的时候遇到这样一个问题,就是给元素添加css3或者jquery动画时,在动画结束前不能准确取到元素的css属性. 1. css3动画讨论 先看代码: html: <div id ...
- delphi if 语句循环语句
if语句------------------------------------------------------------------------------------------------ ...
- IE6/IE7不识别display:inline-block属性怎么办
ie6,ie7的haslayout属性是个让人头疼的问题.在做导航条的时候,一般会用到ul li结构,大多数时候我们是把li设置为浮动,让其并排显示在同一行.还有一种方法就是设置li为display: ...
- [SQL注入3]from_sqli_to_shell_II
[SQL注入1]这关学习盲注 ,这篇还有些东西没理透,后面搞明白了再修改. http://www.pentesterlab.com/exercises/from_sqli_to_shell_II/ 准 ...
- jmap命令结合mat插件分析内存泄露--OQL
http://smallnetvisitor.iteye.com/blog/1826434 User.java package gc; import java.util.ArrayList; impo ...
- 设计模式 ( 十八 ):State状态模式 -- 行为型
1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理.最直接的解决方案是将这些所有可能发生的情况全都考虑到.然后使用if... ellse语句来做状态判断来进行不同情况的处理.但是对 ...
- HDOJ 1393 Weird Clock(明白题意就简单了)
Problem Description A weird clock marked from 0 to 59 has only a minute hand. It won't move until a ...
- HDU_2042——递归反推
Problem Description 你活的不容易,我活的不容易,他活的也不容易.不过,如果你看了下面的故事,就会知道,有位老汉比你还不容易.重庆市郊黄泥板村的徐老汉(大号徐东海,简称XDH)这两年 ...
- Emacs快捷键列表
C = ControlM = Meta = Alt | EscDel = Backspace 基本快捷键(Basic)C-x C-f "find"文件, 即在缓冲区打开/新建一个文 ...
- bat文件调用shutdown命令不生效问题原因
背景: 本人使用云桌面办公,但是用于登陆云桌面的终端运行卡顿,每次开机要20min才能登陆云桌面,所以: 1)在BIOS设置了定时开关,让终端提前开机 2)在系统上层,开机启动项增加一个bat文件(s ...