mongodb中删除数组内嵌对象文档

这个问题在做数据结构的时候经常用到,刚开始没怎么留意,因为我的数组都只是单元素文档:只有一个ObjectId,这样用pull操作完全没有问题,但后来用对象作为了数据的内容,就是数组内嵌的对象,这时候用pull就是各种不生效。发现Mongodb对数组内对象的get和pull使用的书写格式不一致。下面我列出可以使用的书写方式:

先列出mongodb的数据结构

{
  "_id" : ObjectId,
  "Uid" : ObjectId,
  "Visit" : Visit[16]
}


其中Visit为对象:

///访客id
ObjectId  VId;
///访问时间
DateTime Time;

则删除数组内某个Vid的写法为(我的客户端是:samus):

MongoDbHelper.Update<FriendTopicVisit>("FriendTopicVisit", new Document("$pull", new Document("Visit",new Document("Vid",visit.Vid))), new Document("_id", id));

 

方法不复杂,但不知道方法再去找方法也确实挺费时间的。

posted @   左盐  阅读(5922)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示