est-il possible de rechercher par la valeur clé dans Apache Couchdb? Compte tenu des données d'échantillon ci-dessous (espacées pour la lisibilité):
{ "_id":"a754a63dcc7f319b02f7ce6de522ca26", "_rev":"1-5bd88e53fe0869b8ce274b49a2c1ddf5", "name":"john smith", "email":"jsmith@example.com", "username":"jsmith" }
3 Réponses :
Oui, c'est certainement possible. Vous créerez quelques points de vue, qui sont des listes de tri («index») de vos données, une par clé. P>
Le lien de Tobias est utile. Cependant, la documentation standard CouchDB couvrira également: P>
Par exemple, dans votre document de conception, vous pouvez souhaiter une vue bonne chance! p>
P.s. Il existe un moyen de combiner toutes ces exigences en une vue. Brièvement, vous pouvez avoir une clé sur users_by_email code>, avec des touches basées sur le champ code> code>; Ensuite, un
users_by_name code> Affichage figée sur le nom d'utilisateur code> code> Expérience avec les vues temporaires du futon jusqu'à ce que votre fonction fonctionne exactement, puis stockez-la dans votre document de conception. en permanence. p>
["e-mail", "jsmith@example.com"] code> ou
["nom": "John Smith"] CODE> N'oubliez pas que Couchdb est détendu : La méthode plus simple ci-dessus fonctionnera bien. Lorsque vous devenez à l'aise avec des vues, vous pouvez explorer ce style «rassemblé». P>
Les touches FYI doivent être courtes car les clés sont enregistrées dans tous les objets. J'essaie toujours de rester vraiment petit comme "email" serait "m" ou "e" - "nom d'utilisateur" serait "u" ... juste un fyi - personne ne doit le faire, mais si vous stockez beaucoup de données Cela aide à sauver un peu d'espace.
Vous ne pouvez pas rechercher par un keyvalue. Vous ne pouvez rechercher que sur les touches. P>
Si vous souhaitez rechercher des courriels, émettez [email, quelles que soient les données] dans certaines visutions et ajoutez La recherche uniquement par les touches donne d'énormes avantages de performance et donc cette fonctionnalité [la recherche de la valeur clé] ne viendra jamais à Couchdb. P> ? touche = 'Recherche email' code> pour afficher l'URL. P>