MongoDB学习笔记~对集合属性的操作

时间:2022-09-08 14:43:05

回到目录

$unset清除元素

请注意在单个数组元素上使用$unset的结果可能与你设想的不一样。其结果只是将元素的值设置为null,而非删除整个元素。要想彻底删除某个数组元素,可以用$pull 和$pop操作符。

$addToSet和$push的区别

该两者的功能都是给数组添加一个值。但是两者之间有区别,$addToSet要添加的值如果不存在才进行添加操作,但是push只添加一个值;例如:

tags = [“zzl”,”dudu”]

如果执行db.collection.update({},{$push:{tag:"laozhao"}}) 结果就是 [“laozhao”,”zzl”,“dudu”]

如果执行db.collection.update({},{$addToSet:{tag:"zzl"}}) 结果不变

关于Update.Combine集合更新注意点

对于Update.Combine我们可以把需要更新的字段合并到列表List<UpdateDefinition<T>>()中,最后一起进行更新,而这对于集合属性来说,需要注意一下,我们需要为集合属性元素使用PushEach进行添加,而不是Push,因为使用Push会将前一个元素覆盖掉,而只保留最后的元素(集合里的),所以需要使用PushEach来代替它,代码如下:

        [TestMethod]
public void Push()
{
var filter = Builders<Dog>.Filter.Eq(i => i.Id, "5850b0bdebb91a3184f90d3d"); //更新所需要的字段
var updateList = new List<UpdateDefinition<Dog>>();
//更新需要集合类型的字段
var dogHistoryList = new List<DogHistory>();
//添加元素到集合属性
dogHistoryList.Add(new DogHistory
{
HistoryName = "四虎子3",
IsHealth = false,
Adderss = new Adderss("广东", "深圳", "沿海")
});
dogHistoryList.Add(new DogHistory
{
HistoryName = "四虎子4",
IsHealth = false,
Adderss = new Adderss("广东", "深圳", "沿海")
});
//将需要更新集合对象添加到updateList里
updateList.Add(Builders<Dog>.Update.PushEach(i => i.DogHistory, dogHistoryList)); MongoDbClient.MongoManager<Dog>.Instance.UpdateOne(
filter,
Builders<Dog>.Update.Combine(updateList)); }

Update仓储的优化

大叔对于这一点,也把它封装到了Lind.DDD.Repositories.Mongo的仓储里,完善了Update操作,修改了之前的递归处理逻辑,代码反而更简洁了,原理就是使用$set直接把原数据覆盖即可。

        /// <summary>
/// 版本二:递归构建Update操作串
/// 主要功能:实现List子属性的push操作
/// </summary>
/// <param name="fieldList"></param>
/// <param name="property"></param>
/// <param name="propertyValue"></param>
/// <param name="item"></param>
/// <param name="father"></param>
private void GenerateRecursionSet(
List<UpdateDefinition<TEntity>> fieldList,
PropertyInfo property,
object propertyValue,
TEntity item,
string father
)
{
//复杂类型
if (property.PropertyType.IsClass && property.PropertyType != typeof(string) && propertyValue != null)
{
//集合
if (typeof(IList).IsAssignableFrom(propertyValue.GetType()))
{
var arr = propertyValue as IList;
if (arr != null && arr.Count > )
{
if (string.IsNullOrWhiteSpace(father))
fieldList.Add(Builders<TEntity>.Update.Set(property.Name, arr));
else
fieldList.Add(Builders<TEntity>.Update.Set(father + "." + property.Name, arr));
}
}
//实体
else
{
foreach (var sub in property.PropertyType.GetProperties(BindingFlags.Instance | BindingFlags.Public))
{
if (string.IsNullOrWhiteSpace(father))
GenerateRecursionSet(fieldList, sub, sub.GetValue(propertyValue), item, property.Name);
else
GenerateRecursionSet(fieldList, sub, sub.GetValue(propertyValue), item, father + "." + property.Name);
}
}
}
//简单类型
else
{
if (property.Name != EntityKey)//更新集中不能有实体键_id
{
if (string.IsNullOrWhiteSpace(father))
fieldList.Add(Builders<TEntity>.Update.Set(property.Name, propertyValue));
else
fieldList.Add(Builders<TEntity>.Update.Set(father + "." + property.Name, propertyValue)); }
}
}

对于产生的结果是我们可以接受的,可以对集合属性很方便的实现更新了。

            dog.Des.Worker = new string[] { "engineer", "coder" };
dog.Des.Address = new List<Adderss>
{
new Adderss("beijing","fangshan","liangxiang",new string[]{"zhaojiaogan","Road100","No.300"}),
new Adderss("北京","大兴","西红门",new string[]{"理想城","大满贯","4号楼"}),
};

产生的结果如下

aaarticlea/png;base64,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" alt="" />

以上数据结构应该算是比较复杂的了,像实体里有子实体,然后子实体里有集合,集合里又有数组,但我封装的更新还是都适用的,这点已经做过测试,请放心使用!

aaarticlea/png;base64,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" alt="" />

欢迎大家继续关注mongodb技术!

继续关注大叔博客!

回到目录

MongoDB学习笔记~对集合属性的操作的更多相关文章

  1. MongoDB学习笔记~自己封装的Curd操作&lpar;查询集合对象属性&comma;更新集合对象&rpar;

    回到目录 我不得不说,mongodb官方驱动在与.net结合上做的不是很好,不是很理想,所以,我决定对它进行了二次封装,这是显得很必然了,每个人都希望使用简单的对象,而对使用复杂,麻烦,容易出错的对象 ...

  2. MongoDB学习笔记&mdash&semi;03 增删改查操作

    MongoDB的CURD操作分别通过函数insert().update().find().remove()进行 MongoDB文档新增与删除 MongoDB中关于文档的新增与删除比较简单.主要通过in ...

  3. MongoDB 学习笔记(四)C&num; 操作MongoDB

    C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者, 因为提供了丰富的linq操作,相当方便. 官方驱动:https://github.com/mongo ...

  4. MongoDB学习笔记~自己封装的Curd操作&lpar;按需更新的先决条件&rpar;

    回到目录 我们上一讲中介绍了大叔封装的Mongo仓储,其中介绍了几个不错的curd操作,而对于按需更新内部子对象,它是有条件的,即你的子对象不能为null,也就是说,我们在建立主对象时,应该为子对象赋 ...

  5. &lbrack;Spring Data MongoDB&rsqb;学习笔记--MongoTemplate查询操作

    查询操作主要用到两个类:Query, Criteria 所有的find方法都需要一个query的object. 1. 直接通过json来查找,不过这种方式在代码中是不推荐的. BasicQuery q ...

  6. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  7. MongoDB学习笔记系列~目录

    MongoDB学习笔记~环境搭建 (2015-03-30 10:34) MongoDB学习笔记~MongoDBRepository仓储的实现 (2015-04-08 12:00) MongoDB学习笔 ...

  8. MongoDB学习笔记&colon;Python 操作MongoDB

    MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...

  9. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

随机推荐

  1. c&num; winform vlcPlayer播放器

    vlcPlayer是一款免费开源的播放器项目,可以播放几乎所有的视频格式. 第一步:获取dll 安装vlcplayer视频播放器,在安装目录下面获取所需的dll. dll文件夹:plugins 还有2 ...

  2. JavaScript 运算符

    JavaScript 运算符 JavaScript 运算符用于赋值,比较值,执行算术运算等. JavaScript 算术运算符 算术运算符用于执行两个变量或值的运算. 赋值 y = 5, 以下表格将向 ...

  3. atitit&period;客户端连接oracle数据库的方式总结

    客户端连接oracle数据库的方式总结 目录 Java程序连接一般使用jar驱动连接..... 桌面GUI一般采取c语言驱动oci.dll 直接连接... 间接连接(需要配置tns及其envi var ...

  4. android 学习随笔十一&lpar;网络:HttpClient框架&rpar;

    1.使用HttpClient框架发送get.post请求 google收集apache提供的一个发送Http请求框架 public class Tools { public static String ...

  5. ZOJ-2342 Roads 二分图最小权值覆盖

    题意:给定N个点,M条边,M >= N-1.已知M条边都有一个权值,已知前N-1边能构成一颗N个节点生成树,现问通过修改这些边的权值使得最小生成树为前N条边的最小改动总和为多少? 分析:由于计算 ...

  6. Ulipad和有道词典冲突的问题

    Ulipad和目前版本的有道词典有冲突,表现为先开有道词典,Ulipad就无法运行. 解决方法是:找到Ulipad安装目录下的config.ini,添加以下两行:   [server] port=50 ...

  7. javascript笔记——jquery&period;each中使用continue和break的方式

    jQuery.each中continue的方式是 return  true  break 的方式是return false

  8. 201521123056 《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.1 instanceof 测试一个对象是否是某个类的实例,即使左边是右边类的子类的实例对 ...

  9. GHSpro多数据库连接

    GHSpro多数据库连接 文章 1 数据连接 XXX.Application.Web -> XmlConfig -> database.config <connectionStrin ...

  10. JavaScript解析机制与闭包原理实例详解

    js代码解析机制: js代码解析之前会创建一个如下的词法环境对象(仓库):LexicalEnvironment{ } 在扫描js代码时会把: 1.用声明的方式创建的函数的名字; 2.用var定义的变量 ...