Vytáhněte data z jedné CouchDB doc pomocí ID v jiném (Python)

hlasů
1

Mám dvě databáze v CouchDB - dokumenty DB1 jsou uživatelská data - jméno, e-mailovou adresu, uživatelské jméno, heslo, ale v rámci jedné oblasti, které jsem uložení seznamu ID je uloženo v DB2, kde jsou uloženy uživatelské projekty (obsahující pole uživatelské jméno a nějaké TextováPole.

    Example DB1 Document (Users)

       {
   _id: bobsmith1000,
   _rev: 83-1e00173cac0e736c9988d3addac403de,
   first_name: Bob,
   password: $2a$12$sdZUkkyDnDePQFNarTTgyuUZS6DL13JvBk/k9iUa5jh08gWAS5hpm,
   second_name: Smith,
   urls: null,
   email: bob@smith.com,
   projects: [
       ee5ccf56da22121fd71d892dbe051746,
       ee5ccf56da22121fd71d892dbe0526bb,
       ee5ccf56da22121fd71d892dbe053433,
       ee5ccf56da22121fd71d892dbe056c71,
       ee5ccf56da22121fd71d892dbe0579c3,
       ee5ccf56da22121fd71d892dbe05930d
   ]
}

Example DB2 Document (Projects)

{
   _id: ee5ccf56da22121fd71d892dbe05930d,
   _rev: 1-c923fbe9de82318980c7778c4c089321,
   url: http://harkmastering.s3.amazonaws.com/testprojects/testfolder.zip,
   username: bobsmith1000,
   time: 2010-10-29 07:13:47.377085,
   file_size: 5.2 MB
}

Snažím se psát zobrazení v jazyce Python (pomocí webového rámec baňky a knihovnou Python CouchDB), který bude kontrolovat DB1, urvat všechny identifikátory projektu, a pak jít do DB2 a v dávkovém způsobem vytáhnout url, čas, velikost souboru pro každý dokument s odpovídajícími IDS, takže můžu můžete umístit tato data v tabulce.

Jen jsem začal programovat na začátku tohoto roku, a to se týká techniky, které mohu jen představit. Může mi někdo pomoct najít řešení?

druh díky

Položena 29/10/2010 v 14:16
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Pokud nemáte velké důvody k rozdělení ke svým dokumentům v různých DBS, který vypadá jako tak není v souladu s vaší otázkou, jim je všechny by měly udržet na stejné databázi a mají nějaký majetek na dokumenty identifikovat jejich typ (jako " Typ: user“a "Typ: projekt").

Tímto způsobem můžete získat požadovaný výsledek na jediném pohledu CouchDB, aniž by příliš mnoho problémů. Ve vašem zobrazení mapy funkcí budete prostě muset vydávat klíče jako [ „jméno“, 0] a [ „username“, „Projektu“]. V JavaScriptu, který bude vypadat následovně:

function(doc) {
 if (doc.type == "user") {
  emit([doc._id,0],null);
 } else if(doc.type == "project") {
  emit([doc.username,doc._id],null);
 }
}

Them můžete dotaz tento názor a mají organizovaný soubor dokumentů.

Odpovězeno 29/10/2010 v 19:07
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more