Basé sur une bonne réponse à mon previous question, j'ai partiellement résolu un problème que j'ai avec CouchDB.Vues CouchDB: supprimer les doublons * et * commander par temps
Cela a abouti à a new view.
Maintenant, la prochaine chose que je dois faire est de supprimer les doublons de cette vue tandis que en ordre de date.
Par exemple, voici comment je pourrais interroger ce point de vue:
GET http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following?endkey=[%22c988a29740241c7d20fc7974be05ec54%22]&startkey=[%22c988a29740241c7d20fc7974be05ec54%22,{}]&descending=true&limit=3
résultant en ceci:
HTTP 200 http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following
http://scoates-test.couchone.com > $_.json.rows
[ { id: 'c988a29740241c7d20fc7974be067295'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T17:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be062ee8'
, owner: 'c988a29740241c7d20fc7974be05f67d'
}
}
, { id: 'c988a29740241c7d20fc7974be068278'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T15:00:00.000Z'
, 'durian'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be065115'
, owner: 'c988a29740241c7d20fc7974be060bb4'
}
}
, { id: 'c988a29740241c7d20fc7974be068026'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T14:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be063b6d'
, owner: 'c988a29740241c7d20fc7974be05ff71'
}
}
]
Comme vous pouvez le voir, "clémentine" apparaît deux fois. Si je change la vue pour émettre le nom de fruit/actif comme seconde clé (au lieu de l'heure), je peux changer la profondeur de regroupement pour les réduire, mais cela ne résout pas mon besoin de commande par moment . De même, avec la configuration ci-dessus, je peux commander en fonction du temps, mais je ne peux pas réduire les noms d'actifs en double en une seule ligne (pour autoriser, par exemple, 10 actifs par page).
Malheureusement, ce n'est pas une simple question à expliquer. Peut-être this chat transcript aidera un peu.
Aidez-nous s'il vous plaît. J'ai peur que ce que je dois faire ne soit toujours pas possible.
S
Salut. J'ai essayé votre réduire, et je ne pense pas que cela a résolu mon problème: http: // scoates-test.couchone.com/_utils/database.html?follow/_design/asset/_view/by_userid_following_reduce (malgré la réduction, je reçois toujours "banana" deux fois pour "c988a29740241c7d20fc7974be060bb4"). L'ai-je mal appliqué? – scoates
Désolé, mon premier exemple est faux. Cela ne fonctionne que pour les valeurs en double. Pour les clés, vous devez utiliser des listes. J'ai changé l'exemple. J'espère que cela résout votre problème. – Nek
Oh wow. Je n'avais aucune idée que ces fonctions de liste existaient. Je vais essayer et revenir et accepter si cela répond à mes besoins (mais ça en a l'air pour l'instant). Merci! – scoates