c# - 如何在dotnet core中获取BsonElement值以获取mongodb字段名称的字符串
问题描述
大家好,我还是 mongo 的新手,但我希望能从您的丰富经验中获得帮助,在我的项目中,我使用 BsonElement 来命名所有字段,例如:
[BsonElement("isremoved")]
public bool IsRemoved { get; set; }
我在方法中有查询:
public async Task<Player> Delete(string PlayerId)
{
var filter = Builders<Player>.Filter.And(Builders<Player>.Filter.Eq(x => x.PlayerId, PlayerId));
var item = Builders<Player>.Update.Combine(Builders<Player>.Update.Set("isremoved", true));
return await _dbCollection.FindOneAndUpdateAsync(filter, item);
}
我认为这不是构建此查询的最佳方法,我们实际上打算将生产中的字段名称更改为短名称为“isr”以替换“isremoved”,在这种情况下如何从类属性本身获取 BsonElement 元素值(已移除)
解决方案
您可以像这样检索自定义属性值:
typeof(Player).GetProperty(nameof(Player.IsRemoved)).GetCustomAttribute<BsonElementAttribute>().ElementName
不要忘记导入using MongoDB.Bson.Serialization.Attributes;
和using System.Reflection;
.
推荐阅读
- flutter - 找不到包“flutter_native_splash”。您是否忘记添加依赖项?
- pygame - 按钮上没有文字
- python - 解释 - 'float' 对象不支持项目分配
- android - ViewModelProvider 嵌套片段无法接收数据
- php - 使用“显示完整帖子”(wordpress)时如何从主页隐藏视频
- c# - SelectPDF 不显示网格数据
- javascript - 具有单个文件组件的 WordPress Vue 插件 - 无法使用导入
- angular - 如何仅重新加载模块
- c# - 一旦用户键入“停止”,我就需要中止 NUnit 测试执行。我如何实现这一目标?
- c# - 如何将节点按钮添加到空节点元素