public object Deserialize(MongoDB.Bson.IO.BsonReader bsonReader, System.Type nominalType, IBsonSerializationOptions options) { bsonReader.ReadStartArray(); var x = bsonReader.ReadDouble(); var y = bsonReader.ReadDouble(); bsonReader.ReadEndArray(); return new Vector(x, y); }
/// <summary> /// 데이터 타입에 따른 매핑 변화 /// </summary> /// <param name="bsonReader">데이터 리더</param> /// <returns></returns> private string GetBsonString(ref MongoDB.Bson.IO.BsonReader bsonReader) { switch (bsonReader.CurrentBsonType) { case BsonType.Boolean: return bsonReader.ReadBoolean().ToString(); //TODO 이 타입 반환값이 없음. //case BsonType.Binary: case BsonType.DateTime: return bsonReader.ReadDateTime().ToString(); case BsonType.Double: return bsonReader.ReadDouble().ToString(); case BsonType.Int32: return bsonReader.ReadInt32().ToString(); case BsonType.Int64: return bsonReader.ReadInt64().ToString(); //TODO 이 타입 반환값이 없음 //case BsonType.ObjectId: return bsonReader.ReadObjectId() default: return bsonReader.ReadString(); } }