저는 CouchDB를 처음 사용하여 기본적인 예제를 구현하는 데 어려움을 겪고 있습니다. 나는 고객, 연락처, 주소라는 세 가지 문서를 가지고 있으며, 이들을 하나의 문서에 결합시키고 싶습니다.CouchDB 참고 문서
계정 전표
{
"_id": "CST-1",
"_rev": "8-089da95f148b446bd3b33a3182de709f",
"name": "Customer",
"code": "CST-001",
"contact_Key": "CNT-001",
"address_Key": "ADD-001",
"type": "Customer"
}
연락 문서
{
"_id": "CNT-001",
"_rev": "8-079da95f148b446bd3b33a3182de709g",
"fullname": "Happy Swan",
"type": "Contact"
}
주소 문서
{
"_id": "ADD-001",
"_rev": "8-179da95f148b446bd3b33a3182de709c",
"street1": "9 Glass View",
"street2": "Street 2",
"city": "USA",
"type": "Address"
}
지도/조회 :
var map= function (doc) {
if (doc.type === 'Customer') {
emit(doc.id, { contact_Key: doc.contact_Key, address_Key: doc.address_Key })
}
};
db.query({ map: map }, { include_docs: true }, function (err, res) {
});
예를 들어 계정을 쿼리 할 때 한 문서에서 3 개의 모든 문서가 필요합니다.
예상 결과
{
"_id": "CST-1",
"_rev": "8-089da95f148b446bd3b33a3182de709f",
"name": "Customer",
"code": "CST-001",
"contact_Key": "CNT-001",
"address_Key": "ADD-001",
"type": "Customer",
"Contact: {
"_id": "CNT-001",
"_rev": "8-079da95f148b446bd3b33a3182de709g",
"fullname": "Happy Swan",
"type": "Contact"
}",
"Address: {
"_id": "ADD-001",
"_rev": "8-179da95f148b446bd3b33a3182de709c",
"street1": "9 Glass View",
"street2": "Street 2",
"city": "USA",
"type": "Address"
}"
}
당신이 3 가입을 시도하고 있습니까 지도 내부의 문서/축소? 문서를 연결하는 것은 무엇입니까? 'contact_Key'와'Contact'를위한'_id'는 일치하지 않습니다. 또한'map' 함수는 고객 문서 만 출력합니다. – TheDude
안녕하세요, 이드는 ID를 고정 시켰습니다. 예, 그렇다면 mal/reduce 내부에 가입하고 싶지만 결과를 얻는 방법을 모릅니다. – yaadgar