Mongodb のバージョン 2.06 と、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 を使用してルックアップを実行し、クエリ文字列の一部として使用します。
ありがとう、