【发布时间】:2012-08-13 21:41:15
【问题描述】:
应用程序在 Mongo 中保留 Guid 字段,最终存储为 BinData:
"_id" : new BinData(3, "WBAc3FDBDU+Zh/cBQFPc3Q==")
这种情况的优点是紧凑,缺点是在需要对应用程序进行故障排除时出现。 Guid 是通过 URL 传递的,并且在去 Mongo 控制台时不断将它们转换为 BinData 有点痛苦。
除了增加大小之外,将 Guid 存储为字符串还有哪些缺点?一个优点是易于排除故障:
"_id" : "3c901cac-5b90-4a09-896c-00e4779a9199"
这是 C# 中持久实体的原型:
class Thing
{
[BsonIgnore]
public Guid Id { get; set; }
[BsonId]
public string DontUseInAppMongoId
{
get { return Id.ToString(); }
set { Id = Guid.Parse(value); }
}
}
【问题讨论】:
-
内存、空间、查询时间和索引大小都是一些,可以做优化的是:mongodb.org/display/DOCS/…
-
这是你实际在做什么,抱歉没有完整阅读问题。
-
您可能想查看我的相关问题的答案:stackoverflow.com/a/22607171/253098
标签: mongodb mongodb-.net-driver