2014-05-09 10 views
0

내 스키마를 선택하는 것처럼 보이는몽구스. 중첩 된 문서의 _id

var child = new Schema({ 
    some: String 
}); 
var parent = new Schema({ 
    path: {type: String}, 
    children: [child] 
}); 
var model = mongoose.model('model', parent); 

이 사실 나는 아이의 스키마를 별도로 정의하지 않아도 다음과 같습니다. 그것은 부모 내에서도 정의 될 수 있습니다. 문제는 동일하게 유지됩니다.

그래서, 지금은 문서를 model.find 반환 문서가

{ 
//A lot of mongoose's stuff.. 
_doc: { 
    _id: ObjectId, 
    path: 'some string', 
    children: [{ 
     _id: ObjectId, 
     some: 'other string' 
    }] 
    } 
} 

것으로 예상하지만 아이들은 내가 몽고이 문서를 검사 모든 아이들이 _id의이 쉘 때 비록 더 _id이 없습니다.

질문은이 _id을 문서와 함께 가져 오는 방법입니까?

답변

0

나는 무슨 일이 일어나고 있는지 알아 냈습니다. 깊은 내부 액세스 제어 계층에서 함수는 사용자가 액세스 할 수있는 모든 경로를 반환합니다. 모두 _id을 제외하고. 중첩 된 문서의 _id은 기본으로 _id과 달리 기본적으로 선택되지 않습니다.

관련 문제