2012-07-04 2 views
0

Users 컬렉션의 각 문서에 역할 ID와 역할 이름을 저장해야합니다. "xyz 역할을 가진 사용자 가져 오기"또는 "이름에 'XYZ'가 포함 된 사용자 가져 오기 '등의 작업을 수행 할 수 있어야합니다.MongoDB에서 검색 가능한 값의 배열을 저장

Mongo에서도 가능합니까? 지금

,이 같은 데이터를 저장하고 있습니다 : 그와

{ 
    "_id": { 
     "$id": "4fe30e3db92f5d2a5c000000" 
    }, 
    "alias": "rogue_coder", 
    "display_name": "Rogue Coder", 
    "email": "[email protected]", 
    "roles": { 
     "4fe30e5fb92f5d6f53000000": "Super Administrator" 
    } 
} 

, 사용자가 주어진 역할이 있다면 내가 볼 수 있지만 포함 된 역할이있는 모든 사용자에게 얻을 수 없다 단어 "슈퍼"예를 들어. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

답변

1

, like :

{ 
    "_id": { 
     "$id": "4fe30e3db92f5d2a5c000000" 
    }, 
    "alias": "rogue_coder", 
    "display_name": "Rogue Coder", 
    "email": "[email protected]", 
    "role_names": [ 
     "Super Administrator" 
    ], 
    "role_ids" : [ 
     "4fe30e5fb92f5d6f53000000" 
    ] 
} 
1

에서

를 적어 보면 확실하지만 조금 같은 시도 할 수 없음이 당신이해야 할 시도 무엇에, 당신은 별도의 배열에 & ROLE_NAME을 ROLE_ID 저장 할 수 있습니다 기반

db.collection.find({ roles: { /super.*/i }); 
관련 문제