Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 25450 invoked from network); 8 Dec 2010 12:47:59 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 8 Dec 2010 12:47:59 -0000 Received: (qmail 27855 invoked by uid 500); 8 Dec 2010 12:47:58 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 27700 invoked by uid 500); 8 Dec 2010 12:47:57 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 27692 invoked by uid 99); 8 Dec 2010 12:47:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Dec 2010 12:47:57 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of djc.ochtman@gmail.com designates 209.85.212.52 as permitted sender) Received: from [209.85.212.52] (HELO mail-vw0-f52.google.com) (209.85.212.52) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Dec 2010 12:47:50 +0000 Received: by vws13 with SMTP id 13so978374vws.11 for ; Wed, 08 Dec 2010 04:47:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received :in-reply-to:references:from:date:x-google-sender-auth:message-id :subject:to:content-type; bh=Aiek2AZ//TfrPArO4+ZXo0GGsGJZQq0kv+mmg+KvlD4=; b=DO6SDMVE+Se7GQKHnXmjL9D4izeD1Eq8e8QeVd5+mAu2oZp9pgt3TyaPkd6VijCsAu R9Pi9DVc1wwZ0XdJUPYCvR0O6haEvthuhZbSSaJ27uaOzEuVEGng0TopUfXrIw0DfXhs lpEXzhcICvYDF6ZXR4b19LWsY64+RqilZRQPE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type; b=L3DNA7gncS86I/C6X0Ka3qStfwOmru14CPSazFKrQfLJDkrlMxiik1GYlv/HiNw91F rDA8YDt9KRmTmafE9saIjXZyMA0myHVoR651uY4zRDr98w7LX6MO1y/8RBXqYGLuWQRm wcoZqkH2fu+fM4vjfEk7lrrKCoWbsP0as6AKg= Received: by 10.229.215.70 with SMTP id hd6mr6961955qcb.48.1291812449861; Wed, 08 Dec 2010 04:47:29 -0800 (PST) MIME-Version: 1.0 Sender: djc.ochtman@gmail.com Received: by 10.229.35.16 with HTTP; Wed, 8 Dec 2010 04:47:09 -0800 (PST) In-Reply-To: References: From: Dirkjan Ochtman Date: Wed, 8 Dec 2010 13:47:09 +0100 X-Google-Sender-Auth: ExriWmb3DIWO_YdkT4zvzjIDZpQ Message-ID: Subject: Re: Database design with CouchDB To: user@couchdb.apache.org Content-Type: text/plain; charset=UTF-8 On Wed, Dec 8, 2010 at 13:34, He Shiming wrote: > So one database for one project, and one document for a kind of data > huh? That's very helpful, thank you very much. That's not exactly what I was saying. I have one document per user. > One follow up question. Why do you use marker fields for each > document, as opposed to just use "user" as the key for the "user > document"? Does this have any advantage in view design? An example: this app has two users, you and me. Documents: {"_id": "dirkjan", "name": ["Dirkjan", "Ochtman"], "type": "user"} {"_id": "he", "name": ["He", "Shiming"], "type": "user"} Now I can easily build views that take the "document type" into account (get all users), and I can easily make an atomic update of all information related to one user. Hope that helps, Dirkjan