Les documents CouchDB semblent avoir une clé attachée; il ne se présente pas lors de la récupération d'un seul document, mais vous pouvez les utiliser pour récupérer des gammes de documents tels que:Définition explicite des clés de document CouchDB
wget "http://localhost:5984/monitor20n/_all_docs?startkey=1111&endkey=2222
Cependant, il semble que la clé est toujours le même que l'identifiant du document, de sorte que tout ce que vous obtenez est des choses comme ceci
{"total_rows":14269,"offset":0,"rows":[
{"id":"128127896626798592","key":"128127896626798592","value":{"rev":"1-4e07e2c4b4eddfad5846ddf905337197"}},
{"id":"128128575021907970","key":"128128575021907970","value":{"rev":"1-43d983af1e837a4415b6167cae3b5de8"}},
... and so on }}
(voir ici clé == id). Cependant, vous pouvez utiliser des clés plus complexes dans les vues, y compris les vecteurs qui permettent une interaction beaucoup plus complexe; Au moins, vous pouvez définir les clés de vue afin que vous puissiez maintenant à l'avance ce qu'il faut rechercher sans rechercher les ID de document. La question est maintenant: pouvez-vous définir ces touches lors de la création d'un document? Ou peut-être après l'avoir créé? Une solution de contournement évidente consiste à créer une vue cependant, je voudrais que ce
function (doc) {
emit(doc.key,doc)
}
savoir s'il y a une façon plus directe d'obtenir le même effet.
Donc, je suppose qu'une autre solution serait de générer des identifiants en utilisant une règle heuristique autour de la clé que vous voulez utiliser. Par exemple, rassembler des dates si vous voulez faire une recherche par plage de dates, n'est-ce pas? – jjmerelo
Vous pourriez vouloir commencer une question plus spécifique sur ce que vous essayez de faire. Voici un bon exemple: http://stackoverflow.com/questions/3079040/range-keys-in-couchdb-views –