我正在寻找一种将使用可读名称(“类别”)定义的 Bson 对象映射到短名称(“ct”)的方法,并限制主文档库中项目名称占用的空间。我已经使用其他驱动程序看到了这一点,但是使用官方驱动程序呢?我怎么做,哪里是最好的定义。可以在查询中使用长名称并检索短内容吗?
谢谢。
最佳答案
由于没有人真正给出这个问题的答案,所以在这里。
使用官方驱动程序,您可以通过使用 BsonElement 装饰属性名称来做到这一点。例如:
public class SomeClass
{
public BsonObjectId Id { get; set; }
[BsonElement("dt")]
public DateTime SomeReallyLongDateTimePropertyName { get; set; }
}
现在驱动程序将使用“dt”作为 BSON 属性名称。
但是,此时无法使用 POCO 属性名称进行查询。您需要在查询中使用“dt”。有一个单独的项目建立在 C# 驱动程序之上,提供 LINQ 样式查询功能,但我尚未对其进行测试以验证它是否能满足您的要求。
关于c# - MongoDB C#官方驱动: Mapping objects to short names to limit space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5069343/