2011-06-22 3 views
2

fondamentalement je me demande comment vous iriez dans Couchdb comme vous le feriez dans MySQL: stocker nom d'utilisateur, mot de passe dans une table et lier l'ID utilisateur comme clé étrangère sur une autre table de tâches?comment créer "a beaucoup" entre deux documents dans couchdb?

devrais-je simplement utiliser mysql pour la partie authentification de l'utilisateur et couchdb pour stocker beaucoup de documents soumis par les utilisateurs? alors créez un jeton unique aléatoire pour lier chaque utilisateur à ses "documents" sur couchdb?

aussi je cherche à stocker des objets Java à la couchdb, et les récupérer pour être utilisé directement dans mon application. quelle bibliothèque Java-couchdb fait ceci? L'exemple d'Ektorp semble plus compliqué que celui de couchdb4j.

+0

C'est une bonne question. (Je souhaite que plus de gens discutent et utilisent Java avec CouchDB.) Cependant, vous pourriez l'améliorer plus en posant deux questions: l'une concerne "a beaucoup" et l'autre à propos de Java. Cependant j'ai répondu ci-dessous, pour gagner du temps. – JasonSmith

Répondre

3

Je ne sais pas très bien Java, mais je suggère d'utiliser le plus outil simple que vous trouvez. CouchDB est très simple et généralement il est plus avantageux d'y accéder avec des outils simples aussi.

Oui, si vous avez beaucoup de relations dans les données, MySQL vous aidera. Cependant, CouchDB peut faire quelques requêtes has-many simples. En premier lieu, il y a view collation. Vous utilisez map/reduce, et pour chaque document "enfant", vous émettez une clé pointant vers le document parent. Lorsque vous interrogez ?key=parent, vous obtenez une longue liste d'enfants. (Le wiki explique assez bien.)

Ensuite, je suggère l'article What's new in CouchDB 0.11 qui montre comment utiliser le document _ids pour relier deux documents.

Bonne chance!

+0

J'ai commencé à utiliser Mongodb .... il semble juste plus poli et plus de fonctionnalités. J'étais opérationnel en quelques secondes par rapport à couchdb qui a pris quelques rafistolages. Peut-on en réaliser beaucoup en mongodb? – KJW

+0

Cool! "Être opérationnel rapidement" est une priorité très importante. Je ne suis pas sûr de MongoDB mais je crois qu'il a une communauté Stack Overflow active. Si vous commencez une autre question, ils vous seront très utiles. Bonne chance! – JasonSmith

Questions connexes