이 내 컬렉션이다 : (다 대다)는 MongoDB를 대다 검색
배우 :
{
_id: 1,
name: "Name 1"
}
영화 :
이{
_id: 1,
name: "The Terminator",
production_year: 1984,
actors: [
{
actors_id: 1,
role_id : 1
},
{
actors_id: 2,
role_id : 1
}
]
}
내가 얻을 수 없습니다 어떤 영화의 배우 목록
내가 이것을 가지고있을 때 문제가되지 않습니다 :
나는이 위의 구조를 만들 수있는 방법{
_id: 1,
name: "The Terminator",
production_year: 1984,
actors: [1,2,3,4,5] (actors id's)
}
var a = db.movies.findOne(name:"The Terminator").actors
db.actors.find({"_id":{$in:a}})
하지만, 어떻게 난 단지이에서받을 수 있나요
[
{
actors_id: 1,
role_id : 1
},
{
actors_id: 2,
role_id : 1
}
]
:
경우, 나는이 var a = db.movies.findOne(name:"The Terminator").actors
가 나에게이를 반환 할 액터 이름을 얻기위한 배열 [1,2] (actors_id)
감사합니다. Zoran
에서 6,
나는 당신의 대답 레몬에 감사합니다. 임베디드 배열에 ID 대신 이름을 지정하면 액터 이름을 업데이트하려면 별도의 컬렉션으로 변경하고 ID를 통해 참조하는 대신 모든 영화를보고 변경해야합니다. – zugrina
예, 정확히 그것이 의미하는 바입니다. 모든 영화에서 하나의 원자 적 쓰기로 매우 쉽게 업데이트 할 수 있지만 실행 시간면에서 헤비 웨이트 작업이 될 수 있습니다. 이것이 내가 올바른 도구를 사용하고 있는지 정말로 고려해야한다고 말한 이유입니다. 이 경우 질문해야 할 질문은 "배우가 이름을 변경하는 빈도는 얼마나됩니까?"입니다. 해답은 드문 경우이므로 며칠/주마다 업데이트를 실행해야합니다. –