2014-07-06 9 views
4

부모 모델 당 세션을 인증하는 수단 중 하나 인 모바일 장치 UID를 사용하는 응용 프로그램을 작성하고 있습니다. 사용자가된다는 의도는 여러 부모에게 인증 될 수 있지만 부모 당 데이터베이스에는 하나의 세션 항목 만 있습니다.몽구스 JS 하위 문서 고유 확인

ParentSchema { 
    sessions: [{ 
    device_uid: { type: String, unique: true } 
    }] 
} 

세션은 자체 스키마 개체 (단순함을 위해 인라인으로 작성 됨)입니다.

제 질문은 device_uid에 고유 한 유효성 검사를 넣으면 유효성 검사의 컨텍스트가 모든 부모에 대한 IT의 부모 또는 모든 세션 하위 문서에 대한 하위 문서입니까?

답변

2

sessions 배열의 하위 문서에있는 device_uid의 고유 색인은 인 sessions 배열 요소를 두 문서가 가질 수 없도록합니다. 그러나 still allow동일 문서 내에있는 두 요소는 동일한 device_uid을 갖습니다.

+1

흥미 롭습니다. 따라서 하위 문서가 자체 스키마 인 경우에도 고유 유효성 검사는 여전히 상위 스키마 또는 문서의 컨텍스트에 있습니다. – tommybananas

+1

@ snowman4415 수정하십시오. Mongoose 인덱스는 컬렉션에 정의 된 MongoDB 인덱스를 사용하여 항상 구현됩니다. – JohnnyHK