Каковы недостатки хранения Guid как String в MongoDB?
Приложение сохраняет поле Guid в Mongo и в итоге сохраняется как BinData:
"_id" : new BinData(3, "WBAc3FDBDU+Zh/cBQFPc3Q==")
Преимущество в этом случае - компактность, недостаток проявляется, когда нужно устранить неполадки приложения. Направляющие передаются через URL-адреса, и их постоянное преобразование в BinData при переходе на консоль Mongo немного болезненно.
Каковы недостатки хранения 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); }
}
}