집합에 포함 된 문서를 업데이트하거나 존재하지 않는 경우 삽입하는 방법은 무엇입니까 단일 쿼리? 다음과 같은 문서가 있다고 가정 해보십시오. 그리고 '레코드'는 임베디드 된 문서의 집합입니다.MongoDB, 임베디드 문서를 업데이트하거나 삽입하려면 어떻게해야합니까?
{
id: "1",
records: [
{userId:"5", userData: "..."},
{userId:"12", userData: "..."},
{userId:"27", userData: "..."}
]
}
'레코드'를 별도의 쿼리에 삽입하거나 업데이트하는 방법을 알고 있습니다. 그러나 이러한 쿼리를 조합하여 MySQL의 중복 UPDATE UPDATE와 유사하게 작동합니까? 임베디드 된 문서가 있는지 알아보기 위해 다른 쿼리를 실행하는 것을 피하고 싶습니다.
db.myCollection.update(
{id:"1", records.userId:"12"},
{records.$.userData:{"... new data ..."}}
);
db.myCollection.update(
{id:"1"},
{records:
{$push:
{userId: "33", userData: {"... new data ..."}}
}
}
);
감사
그럼 난 대답을했다 를 사용할 수 있지만 스택 오버플로가 코멘트로 변환에 결정했다. –
안녕하세요. Na.z.Camp, 아직이 '댓글'에 대한 링크가 있습니까? – Jaepil
가능한 복제본 http://stackoverflow.com/q/10277174 – JohnnyHK