Jakie są wady przechowywania Guid jako String w MongoDB?
Aplikacja utrzymuje pole Guid w Mongo i kończy się przechowywaniem jako BinData:
"_id" : new BinData(3, "WBAc3FDBDU+Zh/cBQFPc3Q==")
Zaletą w tym przypadku jest kompaktowość, wada pojawia się, gdy trzeba rozwiązać problem z aplikacją. Przewodniki są przekazywane za pośrednictwem adresów URL, a ciągłe przekształcanie ich w BinData, gdy idzie się do konsoli Mongo, jest trochę bolesne.
Jakie są wady przechowywania Guid jako ciągu oprócz zwiększenia rozmiaru? Jedną z zalet jest łatwość rozwiązywania problemów:
"_id" : "3c901cac-5b90-4a09-896c-00e4779a9199"
Oto prototyp trwałej istoty w C #:
class Thing
{
[BsonIgnore]
public Guid Id { get; set; }
[BsonId]
public string DontUseInAppMongoId
{
get { return Id.ToString(); }
set { Id = Guid.Parse(value); }
}
}