2014-01-20 1 views
1

우리는 여러 클라이언트를 지원할 웹 응용 프로그램을 개발 중입니다. 각 클라이언트에는 여러 사용자가 있습니다.Django - Mongo에있는 문서 내에 사용자 저장

  1. 클라이언트 1
    1. 사용자 1-1
    2. 사용자 1-2
    3. 사용자 1-3
  2. 클라이언트 : 우리는이 같은 우리의 모델 스키마 어떤 디자인을하고 싶습니다 2
    1. 사용자 2-1
    2. 사용자 2-2
    3. ,
    4. 사용자 2-3
  3. 등 ...

나는 MongoEngine의 도움 장고 우리가이 글을 쓰는대로 두 가지 문제가 있습니다. 사용자를 중첩 시켜서 로그인하는 것이 인증만큼 고통 스러운가? 즉, MongoEngine은 이러한 유형의 스키마를 지원합니까? 어떻게하면 현재 Client 객체를 요청 매개 변수에 연결할 수 있습니까?

답변

1

코드를 쿼리하고 데이터를 사용하는 방법은 스키마 디자인 방법을 유도하는 데 도움이됩니다.

사용자를 기록하는 쿼리는 무엇입니까? 전체 문서 ($elemMatch)와 대조 할 수 있으며 목록에 저장되어 있다면 그렇게해야합니다. 그렇지 않은 경우 dot notation을 사용하는 경우 User1 사용자 이름과 User2 비밀번호와 일치시킬 수 있습니다.

이 스키마를 사용할 수는 있지만 조심해야합니다. 특히 중첩 된 사용자 객체를보고 싶다면 성가 시게되는 것이 좋습니다. 또한 큰 무제한 목록을 갖는 것이 잘 수행되지 않습니다.

사용자를 요청 컨텍스트에 추가하는 방법은 언제든지 own context을 작성하여 수행 할 수 있습니다.

플립하여 장고의 인증 프레임 워크를 사용하는 것이 더 좋지만 사용자에게 클라이언트를 추가하는 것이 좋습니다.

관련 문제