MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)
我们上一讲中介绍了大叔封装的Mongo仓储,其中介绍了几个不错的curd操作,而对于按需更新内部子对象,它是有条件的,即你的子对象不能为null,也就是说,我们在建立主对象时,应该为子对象赋一下初值,即new一下它,呵呵.
正确的mongo集合
aaarticlea/png;base64,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" alt="" />
对于赋过初值的子对象,在按需要更新时,有以下两种要注意一下
1 子对象的_id,如果已经存在,就更新它的值
2 子对象的_id,如果不存在,或者没有显示为_id赋值,则添加一条新的记录,即_id从新生成
而对于实体更新不存在这个问题,实体里的值会覆盖掉原表的值,下面看一下按需要更新的代码
#region 按需更新
repository1.Update<Person>(i => new Person
{
Id = "556d531e2683c818c86caddb",
Address = new Address
{
Id = "556d531e2683c818c86ca123",/*不加id(或者id没有在集合中存在)就是向列表添加一条元素,id存在则更新指定的元素*/
Province = "luanxian",
City = "111湖南占占大师",
District = "小区",
Seconds =
},
AddList = new List<Address>() {
new Address
{
/*不加id(或者id没有在集合中存在)就是向列表添加一条元素,id存在则更新指定的元素*/
Id="556d531e2683c818c86cadde",
Province = "luanxian",
City = "湖南占占大师ddd",
District = "小区",
Seconds =
}}
});
#endregion
对于整个更新,还是同样的问题,当然前提需要把表记录从库中获出来
#region 完整更新
var e1 = repository1.Find("556d531e2683c818c86caddb");
e1.Name = "wet";
e1.Address.City = "北京123";
/*遍历原来的集合,批量赋值*/
e1.AddList.ForEach(i =>
{
i.City = "大占占";
});
/*为每个对象分别赋值,不指定ID被自动生成*/
e1.AddList = new List<Address> {
new Address{City="占占1"},
new Address{City="占占2"}
};
repository1.Update(e1);
#endregion
对于MonoDB我们还需要继续去探索,研究...
MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)的更多相关文章
- MongoDB学习笔记~自己封装的Curd操作(查询集合对象属性,更新集合对象)
回到目录 我不得不说,mongodb官方驱动在与.net结合上做的不是很好,不是很理想,所以,我决定对它进行了二次封装,这是显得很必然了,每个人都希望使用简单的对象,而对使用复杂,麻烦,容易出错的对象 ...
- MongoDB学习(1)--安装,基本curd操作
知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...
- MongoDB学习笔记—03 增删改查操作
MongoDB的CURD操作分别通过函数insert().update().find().remove()进行 MongoDB文档新增与删除 MongoDB中关于文档的新增与删除比较简单.主要通过in ...
- MongoDB学习笔记~对集合属性的操作
回到目录 $unset清除元素 请注意在单个数组元素上使用$unset的结果可能与你设想的不一样.其结果只是将元素的值设置为null,而非删除整个元素.要想彻底删除某个数组元素,可以用$pull 和$ ...
- MongoDB 学习笔记(四)C# 操作MongoDB
C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者, 因为提供了丰富的linq操作,相当方便. 官方驱动:https://github.com/mongo ...
- [Spring Data MongoDB]学习笔记--MongoTemplate查询操作
查询操作主要用到两个类:Query, Criteria 所有的find方法都需要一个query的object. 1. 直接通过json来查找,不过这种方式在代码中是不推荐的. BasicQuery q ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- MongoDB学习笔记系列~目录
MongoDB学习笔记~环境搭建 (2015-03-30 10:34) MongoDB学习笔记~MongoDBRepository仓储的实现 (2015-04-08 12:00) MongoDB学习笔 ...
- MongoDB学习笔记(2):数据库操作及CURD初步
MongoDB学习笔记(2):数据库操作及CURD 数据库操作 创建数据库 首先MongoDB中数据库的创建和数据库的切换都是使用命令,USE DATABASE,如果要切换的数据库不存在则会进行创建, ...
随机推荐
- Kooboo CMS - Html.FrontHtml[Helper.cs] 各个方法详解
下面罗列了方法详解,每一个方法一篇文章. Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解 Kooboo CMS - Html.FrontHtml.Posit ...
- reactjs学习之路
正式开始react的学习 1.react中组件的首字母如果是大写就会当成自定义组件,如果是小写就会当成DOM的自带元素名.如果你自定义组件名称首字母是小写不会报错,但是无法显示. 2.自定义组件的re ...
- Android Conflict with nineoldandroids等报错
问题 报错:Conflict with nineoldandroids 原因 我在引入Fresco时由于其中也包含nineoldandroids这个库,导致库的冲突,相关的库冲突都是因为这个问题导致的 ...
- Android中Application的应用
当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息.通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Appli ...
- JSP自定义tag
前端需要调用后端的配置,想起velocity-tools.然而jsp的话,目前只能想到tag和EL表达式了. Tag相当好写,jsp2.0提供了简化写法: 编写一个java类: public clas ...
- Mybatis-update - 数据库死锁 - 获取数据库连接池等待
最近学习测试mybatis,单个增删改查都没问题,最后使用mvn test的时候发现了几个问题: update失败,原因是数据库死锁 select等待,原因是connection连接池被用光了,需要等 ...
- 安装好centOS5.5 后中文乱码
1.网页浏览的中文乱码 [root@localhost ~]# yum install fonts-chinese 下载完毕后,浏览器可以浏览中文网页. 2.应用显示中文乱码 #vi /etc/sys ...
- ApiController使用Session验证出现Null解决方案
问题描述 在服务端保存登录信息,出现异常信息 分析发现HttpContext.Current.Session为null 解决方案 执行时出报异常,要在Global.asax里添加:开启Session功 ...
- C#基础知识四之override和new的区别
override override是派生类用来重写基类方法的.调用的派生类方法,如需调用基类方法用base关键字 override不能重写非虚方法或静态方法. override重写必须用abstrac ...
- SqlServer -- char与varchar、nchar、N
一.char与varchar 带var的表示的是:可变长度,会根据实际存储数据的大小动态重新分配存储空间,相对来说节省存储空间. 不带var的表示的是:固定长度,存储3字符也是要占用10个字节的,会自 ...