2012-01-20 5 views
1

mongodb 설치 프로그램이 내 데이터를 거의 표준화하지 않고 저장합니다. 게시물과 함께 표시하려는 사용자 데이터 만 저장합니다. 그러나 나는 항상 투표를 위해 관련 사용자 또는 관련 게시물의 _id를 저장합니다. 일부 id는 ajax 호출 (문자열로 저장 됨)에서 나오고 다른 일부는 mongodb 서버 측에서 직접 가져옵니다 (OID에서 가져온 데이터 유형에 저장 됨). 따라서 지금 저장할 때 관련 ID가 혼합되어 있습니다 문자열 또는 OID로. 내 질문은 모두 문자열로 또는 모두 OID로 변환해야합니다.관련 키를 MongoDB에 OID 또는 문자열로 저장하십시오.

+0

귀하의 _id가 아약스 전화에서 왔을 때, 그들은 어디에서 유래 되었습니까? 형식이 올바르지 않으면 OID로 변환 할 수 없습니다. –

답변

3

ObjectIds. 그것들은 더 공간 효율적이며 ObjectIds 비교는 문자열 비교보다 빠릅니다. 들어오는 문자열을 항상 ObjectId (예 : oid = new ObjectId (string))로 변환해야합니다. 나는 당신이 문자열을 원할 때 예외를 생각할 수 없다.

+0

예를 들어 키 이름은 무엇입니까? 문자열 만 가능합니다. –

+0

흠, ObjectIds가있는 곳에서 의도적으로 문자열로 변환하려는 시나리오를 원한다면 필드 값으로 사용할 수 있으므로 약간의 스키마 문제가 발생합니다. 하지만 그게 이유가 될 수 있다는 말이 맞습니다. 그래도 꽤 예쁘다.) –

관련 문제