Structure d'une table DynamoDB pour permettre l'ASC ou DESC a ordonné sur les articles * pagination dans une table
-
25-10-2019 - |
Question
Je veux ORDER_BY par heure / date et paginate à travers tous les éléments d'une table. scan semble conçu pour paginer à travers tout, mais ne semble pas avoir un "ASC / DESC" equiv. la requête a ScanIndexForward mais nécessite primaire spécifique clés. (Aucun moyen de SELECT *?)
Basé sur le premier commentaire de cette question je pense la seule façon d'y parvenir est d'utiliser une clé primaire commune (!?), puis la requête sur cette base, en se concentrant sur la touche Range. Est-ce vraiment la façon dont il est censé fonctionner? Je dois faire un ensemble table séparée avec miroir des attributs si je voulais interroger un élément individuel basé sur une clé primaire unique.
S'il vous plaît excuser mon NoSQL noobness. Je suis un dev front-end qui est seulement tâté de MySQL et SimpleDB.
La solution
Oui, c'est ce que Query
est pour. La clé de hachage identifie la liste des choses à la page sur et la touche de gamme indique la position dans la liste. Si vous pouvez tolérer le succès de latence, tout ce que vous avez besoin de stocker dans le tableau des clés primaires est où toutes les données repaginés sur la vie, vous pouvez alors émettre un BatchGetItem
pour lire un pageful de données en parallèle.
données en double est le péché dans NoSQL qu'il est dans le modèle relationnel, vous êtes essentiellement élaboration d'un index de style MySQL à la main.