다음 데이터가 MongoDB에 있습니다 (내 질문에 필요한 단순화 된 항목).배열의 첫 번째 요소의 속성을 찾기위한 MongoDB 쿼리
{
_id: 0,
actions: [
{
type: "insert",
data: "abc, quite possibly very very large"
}
]
}
{
_id: 1,
actions: [
{
type: "update",
data: "def"
},{
type: "delete",
data: "ghi"
}
]
}
내가 원하는 것은 각 문서에 대한 첫 번째 작업 유형을 찾는 것입니다.
{_id:0, first_action_type:"insert"}
{_id:1, first_action_type:"update"}
(데이터가 다르게 구조화 된 경우는 괜찮지 만 어떻게 든 그 값이 존재해야합니다.)
편집 : 나는 db.collection.find({}, {'actions.action_type':1})
을 시도했지만, 분명히 그 행동 배열의 모든 요소를 반환 .
NoSQL은 나에게 상당히 새로운 것입니다. 전에는이 모든 것을 관계형 데이터베이스의 두 테이블에 저장하고 SELECT id, (SELECT type FROM action WHERE document_id = d.id ORDER BY seq LIMIT 1) action_type FROM document d
과 같은 작업을 수행했습니다.
간단하게'... actions [0]'for'collection .find method' –
이 문서는 크기가 크며 ... 필요한 것을 얻는 데 도움이되는 프로젝션이나 무언가를 사용하려고합니다. –
당신은 인덱스를 추가 할 수 있습니다 –