我正在运行 2.06 版的 Mongodb 和 10Gen 提供的 C# 驱动程序的 (1.5) 版。
我的每个实体都有一个 Id 属性设置......
[BsonId(IdGenerator = typeof(GuidGenerator))]
public Guid Id { get; set; }
Id 字段存储为 Binary - 3:UuidLegacy。由于当我在实体上调用 ToJson() 时它是如何存储的,它会为 Id 返回以下 javascript 对象。
_id : Object
$binary: "some values here"
$type: "03"
这显然是因为数据被存储为 Binary = 3:UuidLegacy。这是有道理的。
我想在我的 Javascript 代码中使用实际的 Guid。如果我让我的 Id 属性如下所示,MongoDB 的效率会有多高?
[BsonId(IdGenerator = typeof(GuidGenerator)),MongoDB.Bson.Serialization.Attributes.BsonRepresentation(BsonType.String)]
public Guid Id { get; set; }
这使得 mongodb 将我的 Id 存储为字符串。但这真的有效吗?我猜我的 ID 的二进制格式更好,但我真的需要 Guid。
如何从 Binary - 3:uuidLegacy 转到我在 json 中需要的 Guid?
我想另一个想法是我可以只使用发送给我的 $binary 值吗?我使用 Id 来执行查找,例如查询字符串的一部分。
谢谢,