ALLisCHAOS Δημοσ. 5 Αυγούστου 2016 Δημοσ. 5 Αυγούστου 2016 Καλησπέρα, έχω στη βάση μου(mongodb) καταστήματα τα οποία βαθμολογούνται από χρήστες. Η δομή του document είναι οτι καθε κατάστημα έχει μια λίστα απο βαθμολογίες(embedded document). Αυτο που θελω να κάνω είναι όταν ο χρήστης επιλέξει ένα κατάστημα να του εμφανίζεται πρώτα η δική του βαθμολογία και μετά οι υπόλοιπες των άλλων χρηστών. Κατι σαν το playstore που όταν μπαίνεις βλέπεις πρώτα τη δική σου βαθμολογία(αν έχεις βαθμολογήσει). Οπότε αυτό που έχω σκεφτεί να κάνω είναι είτε να έχω στο api μου ένα endpoint του στυλ: /stores/rates/store_id/user_id και έτσι να πέρνω απευθείας την βαθμολογία του χρήστη. ΑΛΛΑ... αλλά μετά θα πρέπει να ψάξω και να διαγράψω από τη λίστα των rates τη βαθμολογία του (ώστε να μην τη βλέπει 2 φορές), το βλέπω λίγο χρονοβώρο. Θα ήταν καλύτερα να μην υπάρχει endpoint και να ψάχνω στη λίστα των βαθμολογιών τη βαθμολογία του χρήστη και να τη μεταφέρω στη πρώτη θέση της λίστας έτσι ώστε κάθε φορά η πρώτη βαθμολογία να είναι κ αυτή του current user? Πάλι δε γλυτώνω το operation με τη λίστα αλλά γλυτώνω τουλάχιστον την επικοινωνία με το api. Κάποια άλλη ίσως πιο αποτελεσματική ιδέα?
Predatorkill Δημοσ. 5 Αυγούστου 2016 Δημοσ. 5 Αυγούστου 2016 findOne rating με match το store id και userid? κανε index τις βαθμολογιες να τις βγαζει γρηγορα.
ALLisCHAOS Δημοσ. 8 Αυγούστου 2016 Μέλος Δημοσ. 8 Αυγούστου 2016 findOne rating με match το store id και userid? κανε index τις βαθμολογιες να τις βγαζει γρηγορα. Ναι αλλά και πάλι θα πρέπει αυτη μετά τη βαθμολογία να τη διαγράψω από τη λίστα με όλες τις άλλες, δλδ δε γίνεται να αποφύγω να ψάξω διαγράψω από τη λίστα. Και σε περίπτωση που δε γίνεται να το αποφύγω τι τύπος θα ήταν καλύτερο να είναι η λίστα? LinkedList?
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα