현재 컬렉션에 대한 사용 권한 집합을 관리하고 있습니다. 각 사용 권한 집합은 사용자의 ID를 키로 저장합니다. 어떤 이유로 키는 현재 BSONObjectID의 문자열 버전입니다.Map [key, value]에서 key-name에 MongoDb 인덱스를 만드는 방법은 무엇입니까?
키에 대한 인덱스를 유지하고 싶습니다. 관련 권한 집합 만 조회 할 수 있으며 특정 사용자에 대한 사용 권한이있는 문서도 찾을 수 있습니다.
편집 : 예 추가 :
예 :
{ "_id": { "$의 OID": "XXXXXX"},
"irrelevantData": "문서 1 데이터 ...",
" 권한 ": {
"키 1 ": {"perm1 "사실,"perm2 : 거짓},
"KEY3": { "perm1"사실, "perm2 : 거짓}
}
{"_id " : { "$ oid": "yyyyyy"},
"irrelevantData": "Documen T2 데이터 ... ",
"권한 ": {
"키 1 ": {"perm1 "거짓"perm2 : TRUE},
"키 2": { "perm1"사실, "perm2 : 거짓 }
}
위의 예제에서 권한에 "key2"가있는 문서 만 선택할 수있게하고 싶습니다.
모델은 다음과 같이이다 :
case class relevantCollection( _id: BSONObjectID, irrelevantData: String, permissions: Option[Map[String, Map[String, Boolean]]])
가 어떻게 대신 값의 키에 인덱스를 만들려면 어떻게해야합니까? 이 키가 문자열 대 BSONObjectID와 관련하여 성능 문제가 있습니까?
ReactiveMongo 함께 할 방법을 요구하기 전에, 나는 [MongoDB의 인덱스 문서를 (https://docs.mongodb.com/manual/indexes/) 확인하고 MongoShell을 시도 할 것입니다. – cchantep
@cchantep : [MongoDB index doc] (https://docs.mongodb.com/manual/indexes/)을 확인했지만 키를 인덱싱하는 방법을 찾지 못했습니다. 어쩌면 내가 잘못 읽고 있니? 제안대로 MongoShell에 대한 작업 솔루션을 찾을 수 있다면 행복 할 것입니다. – RastacraZ
MongoDB 설명서에서 방법을 찾지 못하면 클라이언트 라이브러리로는 할 수 없습니다. – cchantep