나는 사용자 컬렉션을 갖고있다. 분명히 모든 로그인은 유일하다. 그리고이 시점에서 나는 생성 된 MongoId 대신에 그들을 사용하지 않을 이유를 생각할 수 없다. 이 접근법에 단점이 있습니까?MongoId 대신 고유 한 문자열을 _id로 사용하는 단점이 있습니까?
답변
그래, 완벽하게 좋아 보인다. ObjectIds는 샤딩을 할 때 유용 할 수 있으며, 타임 스탬프를 제공하고 인덱싱 저장에 더 효율적입니다. 크기가 모두 동일하기 때문입니다. 그러나 응용 프로그램이 로그인을 사용하는 것이 더 합리적이라면 잘 작동합니다.
그러나 타임 스탬프의 해상도는 초 단위이므로 초 고해상도가 필요한 경우 별도의 필드를 사용해야합니다. – christkv
로그인이 종종 이메일 주소이기도 한 경우 사용자는 _id
으로 사용하면 문제를 일으킬 이메일 주소를 사용자가 변경하게됩니다. 로그인에 이메일 주소를 사용하지 않더라도 사용자가 사용자 이름을 변경할 수 있도록 할 수 있습니다.
그러나 내가 묻는 질문은 대신 _id
으로 로그인을 사용하는 데 따른 단점이 있습니다. 표준 ObjectId
필드를 사용하는 데 단점이 있습니까? 대신 로그인을 사용하여 얻고 자하는 것이 무엇입니까?
타일러 브록 (The Tyler Brock)이 답변에서 지적한 것처럼 ObjectId
을 사용하면 문서를 만든 MongoDB 인스턴스의 타임 스탬프와 식별자와 같은 ObjectId
에 인코딩 된 추가 정보가 있으므로 몇 가지 추가 이점이 있습니다. 언젠가는 유용 할 수도 있습니다.
내 경험에 의하면, 가끔 이있는 경우 그렇지 않으면 정말 좋은 이유가 있습니다. 일반적으로 사용하는 기술의 흐름과 함께가는 것이 좋습니다.
- 1. 고유 한 문자열을 고유 한 정수로 변환
- 2. 고유 한 문자열을 추출하십시오.
- 3. sqlite를 사용하면 단점이 있습니까?
- 4. 너무 많은 단편을 사용하는 단점이 있습니까?
- 5. PHP 배열에서 고유 한 문자열을 생성하는 방법
- 6. JSR-303 검증 대신 OVAL을 사용하면 어떤 단점이 있습니까?
- 7. ASP.NET을 사용하는 IIS6 HTTP 압축 : 단점이 있습니까?
- 8. @ font-face를 사용하는 데는 단점이 있습니까?
- 9. ViewModel에 고유 한 논리가 있습니까?
- 10. PHP의 session.auto_start에는 단점이 있습니까?
- 11. 데이터의 고유 ID를 찾을 때 System.Guid.NewGuid() 함수에 의존하는 단점이 있습니까?
- 12. SEAM에 단점이 있습니까?
- 13. SQL Server 문자열을 고유 키로
- 14. 행운의 번호를 고유 한 문자열을 생성
- 15. Access에서 고유 한 문자열을 찾는 방법은 무엇입니까?
- 16. 고유 한 문자열을 저장하는 컬렉션은 무엇입니까?
- 17. mongoid
- 18. mongoid 고유 인덱스 허용 중복 값
- 19. 구글 코드 대 소스 코드와 코드 플렉스를 선택할 때 고유 한 이점이나 단점이 있습니까?
- 20. JMockit에는 단점이 있습니까?
- 21. 체이닝 세터 : 단점이 있습니까?
- 22. Consistent Hashing의 단점이 있습니까?
- 23. mongodb에서 _id로 레코드를 찾을 수없는 이유는 무엇입니까?
- 24. 'Symbol # to_proc'의 심볼 대신 문자열을 사용하는 방법
- 25. Google GeoChart에서 고유 한 색상을 사용하는 방법
- 26. _id로 문서를 검색하려면 어떻게해야합니까?
- 27. 고유 한 컨트롤에서 동일한 RoutedCommand를 사용하는 방법?
- 28. VS 설치 프로젝트 - 단점이 있습니까?
- 29. JDOQL 고유 한 결과 집합을 사용하는 쿼리
- 30. 고유 한 암호화 작성
왜 모든 로그인이 고유합니까? – hakre