使用 C# 从 mongo 中删除列

Posted

技术标签:

【中文标题】使用 C# 从 mongo 中删除列【英文标题】:Remove column from mongo using C# 【发布时间】:2022-01-09 19:57:15 【问题描述】:

我想从我的文档中删除一列及其对应的值

当前:


 _id:'2323',
 name:'xyz',
 isAdmin:true

预期:


 _id:'2323',
 name:'xyz'

想要从所有文档中删除 isAdmin 属性

【问题讨论】:

也许 this 未设置。 【参考方案1】:

在 MongoDB 查询中,使用$unset

db.collection.update(
  ,
   "$unset": "isAdmin" 
)

在 MongoDB .Net Driver 中,您可以执行以下操作:

FilterDefinition<User> filter = Builders<User>.Filter.Empty;

var update = Builders<User>.Update.UnSet(u => u.IsAdmin);
// OR
// var update = Builders<User>.Update.UnSet("isAdmin");

_collection.UpdateMany(
    filter,
    update
);

参考文献

Basic Updates | MongoDB C# Driver Cheat Sheet

Update.Unset Method

【讨论】:

以上是关于使用 C# 从 mongo 中删除列的主要内容,如果未能解决你的问题,请参考以下文章

在mono中使用c#驱动程序比较mongo集合的两个字段

从 mongo 数组中删除空元素

使用官方 C# 驱动程序在 Mongo DB 中进行更新插入

从 C# 中的列表中删除列表项的属性

如何从 mongo 数据库中的特定集合中删除重复记录?

如何使用 Linq 在 Mongo C# 2.2 驱动程序中查询嵌套列表?