2014-10-29 3 views
2

MongoDB에 문자열 목록으로 Guids 목록을 저장하고 싶습니다.MongoDb에 Guids 목록을 문자열 목록으로 저장하십시오.

public List<Guid> GuidIdList { get; set; } 
난 당신이 규칙을 그것을 할 수 있지만 난 정말 그것을 좋아하는 방법을 발견

:

[BsonRepresentation(BsonType.String)] 
public Guid GuidId{ get; set; } 

와 동일한 기능을 수행하는 속성이 있나요 : 하나의 GUID를 위해 나는 다음과 같은 속성을 사용 속성과 :

How can I tell the MongoDB C# driver to store all Guids in string format?

+0

단점을 문자열로 GUID를 저장하여 사용하면 MongoDB의 통합 프레임 워크를 사용할 수 없다는 것입니다 //stackoverflow.com/a/11952062/ – chridam

+0

@chridam 그것은 문자열에 대해서는 사실이 아니 었습니다. 링크 된 것은 2.6 이전의 바이너리 값으로 한계를 설명하는 것입니다. – JohnnyHK

답변

4

직장에서 사람으로부터 제안 후, 나는 작은 시험으로이 시도했습니다

[BsonRepresentation(BsonType.String)] 
public List<Guid> GuidIds { get; set; } 

맞춰봐! 이것은 MongoDB에서 볼 수 있습니다 :

{ 
    "_id" : ObjectId("5450fa00f0640335e4117d46"), 
    "GuidId" : "f9e22da8-97c5-4dc7-ab26-ce5e095427a4", 
    "GuidIds" : ["48e1d0a9-74a6-4b51-af6b-b217012adeac", "5e1751b1-d945-4baa-beed-847e9696caa9"] 
} 

따라서 속성은 목록 안의 요소들에 작용합니다. 목록 자체의 문자열 표현을 만들 것이라고 생각했습니다.


추가 정보, 속성없이

public List<Guid> GuidIds { get; set; } 

당신은 MongoDB를이 얻을 :

{ 
    "_id" : ObjectId("5450fc4bf0640327b82cb259"), 
    "GuidId" : "e76f37a1-eba6-4afe-8ee4-8d431f97978c", 
    "GuidIds" : [new BinData(3, "E4x6bMtj606H06snHwmVGw=="), new BinData(3, "uV9vktKLzkOF/ylcOckfYg==")] 
} 
관련 문제