通过ID从mongodb 2.4版的子文档中删除 [英] Remove from subdocument from mongodb version 2.4 by id

查看:76
本文介绍了通过ID从mongodb 2.4版的子文档中删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的文档

Post{
  "_id" : 1,
  "Code" : CSUUID("ba22a2a3-e6b5-4ce6-a3ad-20e5196cca46"),
  "Zip" : 123456,
  "Text" : "Hello",
  "Tags" : [{
      "_id" : 1,
      "Tag" : "Tag8"
    }, {
      "_id" : 2,
      "Tag" : "Tag9"
    }, {
      "_id" : 3,
      "Tag" : "Tag10"
    }]
}

我需要在c#中按ID删除标签"之一. 例如:delete from post where tag.id = 2

I need to delete one of 'Tags' by id in c#. for example: delete from post where tag.id = 2

推荐答案

MongoDB.Bson版本:2.0.1.27

MongoDB.Bson version : 2.0.1.27

MongoDB.Driver版本:2.2.0.262

MongoDB.Driver version :2.2.0.262

MongoDB.Driver.Code版本:2.2.0.262

MongoDB.Driver.Code version :2.2.0.262

const int id = 1;
var pull = Builders<Post>.Update.PullFilter(x => x.Tags, a => a.Id == id);
var filter1 = Builders<Post>.Filter.And(Builders<Post>.Filter.Eq(a => a.Id, 1), Builders<Post>.Filter.ElemMatch(q => q.Tags, t => t.Id == id));
collection.UpdateOneAsync(filter1, pull);

这篇关于通过ID从mongodb 2.4版的子文档中删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆