2016-08-03 2 views
0

CouchDB를 평가했습니다. & 다음 기능을 구현할 수 있는지 궁금합니다.CouchDB에서이 작업을 수행 할 수 있습니까?

웹 응용 프로그램을 개발할 계획이며 앱에서이 테이블의 '상위'테이블과 파생 테이블을 허용해야합니다. 상위 테이블에는 모든 필드 (마스터 테이블)가 포함되며 사용자는 선택적으로 필드를 선택합니다. 필드는 별도의 테이블로 저장해야합니다.

  1. 는 CouchDB를 사용하여 동일한 테이블의 다른 버전을 저장할 수 있습니다 : 다음과 같이

    내 쿼리

    은?
  2. 자식 테이블을 만드는 대신 (데이터베이스를 어수선하게) 대체 할 수 있습니까?

저는 NoSQL 데이터베이스가 처음인데 CouchDB가 JSON을 즉시 지원하므로이 형식이 애플리케이션에 적합하다고 판단되어 CouchDB를 평가하고 있습니다.

파생 상품을 별도의 테이블로 저장하지 않을 수있는 대안이있는 경우 애플리케이션이 더 좋을 것입니다. 내가 어떻게 이걸 이룰 수 있었는지 아는가?

미리 감사드립니다.

+0

부모 테이블과 자식 테이블 사이에 어떤 관계가 있습니까? 그것은 1 대 1, 1 대 다입니까? couchdb는 문서 지향 데이터베이스입니다. 테이블 만 문서가 없습니다. – randominstanceOfLivingThing

+0

안녕 randominstanceOfLivingThing, 관계는 일대 다입니다. 사용자는 프런트 엔드에서 상위 문서를 편집하고 편집 내용을 별도의 문서로 저장할 수 있어야합니다. 그래서 나는 관계가 1 : 많은 것입니다. 사용자는 하위 문서를 편집하여 파생 상품 등을 만듭니다. CouchDB를 시작하려고합니다. 따라서 쿼리가 매우 기본적인 경우 실례합니다. 다시 한번 감사드립니다. – jixtacom

답변

1

CouchDB는 document oriented database이므로 테이블에 관해 말할 수 없습니다. 문서 만 있습니다. _rev (또는 개정 ID)는 document의 버전을 설명합니다.

In CouchDB, there are 2 ways to achieve relationships. 당신이 당신의 데이터베이스를 혼란하는 것을 선호하지 않는 경우

  1. 를 사용하여 별도의 문서
  2. 당신은 (2) 내장 배열을 사용하여 옵션을 사용하도록 선택할 수 있습니다, 포함 된 배열을

를 사용합니다. 이 기능을 사용하면 캐스케이드 삭제 기능을 무료로 사용할 수 있습니다.

+0

나는 당신이 공유 한 포인터 인 randominstanceOfLivingThing을 탐색 할 것입니다. 엄청 고마워! 정말 감사합니다! – jixtacom

관련 문제