Όπως με κάθε βάση δεδομένων, τα ευρετήρια είναι βασικές δομές δεδομένων στο MongoDB. Ενθαρρύνουν εύκολα ερωτήματα βάσης δεδομένων και σας επιτρέπουν να αποθηκεύετε και να τακτοποιείτε ένα μέρος της συλλογής σας σε μοναδικά πεδία. Τα ευρετήρια υποστηρίζουν επίσης την αναζήτηση εύρους χωρίς πρόβλημα.

Εάν η εφαρμογή σας χρησιμοποιεί MongoDB, θέλετε να αξιοποιήσετε τη δύναμη των ευρετηρίων για να κάνετε τα ερωτήματά σας πιο γρήγορα και πιο αποτελεσματικά. Τι είναι λοιπόν τα ευρετήρια στο MongoDB και πώς μπορείτε να τα δημιουργήσετε;

Τι είναι οι δείκτες στο MongoDB;

Τα ευρετήρια στο MongoDB σάς επιτρέπουν να δώσετε προτεραιότητα σε ορισμένα πεδία σε ένα έγγραφο και να τα μετατρέψετε σε παραμέτρους ερωτήματος αργότερα. Κατά τη δημιουργία μιας συλλογής, το MongoDB δημιουργεί ένα προεπιλεγμένο ευρετήριο αναγνωριστικού. Αλλά μπορείτε να προσθέσετε περισσότερα εάν έχετε υψηλότερα ερωτήματα ή ανάγκες διευθέτησης.

Τα μοναδικά ευρετήρια αποτρέπουν επίσης τα διπλότυπα κατά την εισαγωγή δεδομένων. Είναι χρήσιμα για την απόρριψη καταχωρήσεων που υπάρχουν ήδη στη βάση δεδομένων. Έτσι, μπορείτε να χρησιμοποιήσετε μοναδική ευρετηρίαση σε ονόματα χρηστών και πεδία email, για παράδειγμα.

instagram viewer

Τα ευρετήρια σάς βοηθούν να αρπάξετε συγκεκριμένα αυτό που θέλετε χρησιμοποιώντας την καθορισμένη μορφή ερωτήματός σας στην απαιτούμενη ποσότητα χωρίς να σαρώσετε μια ολόκληρη συλλογή. Όταν δημιουργείτε ένα ευρετήριο, μπορείτε να καθορίσετε πώς θέλετε να ταξινομούνται τα δεδομένα σας κάθε φορά που υποβάλλετε ερώτημα.

Για παράδειγμα, εάν αποφασίσετε να ταξινομήσετε τα σημεία δεδομένων με βάση τις ημερομηνίες εισαγωγής τους χωρίς να χρησιμοποιήσετε ευρετήριο, θα παρέχετε συνήθως κριτήρια ερωτήματος και σειρά ταξινόμησης.

Ας υποθέσουμε ότι θέλετε να τακτοποιήσετε ηλικίες μεγαλύτερες από έναν συγκεκριμένο αριθμό με βάση την φθίνουσα ημερομηνία συμμετοχών τους. Το ερώτημά σας συνήθως μοιάζει με αυτό:

db.collectionName.find({age: {$gt: 50}}).sort({date: -1})

Αλλά αν είχατε ένα ευρετήριο στις ημερομηνίες καταχώρισης, θα χρειαστεί να δώσετε μόνο τα κριτήρια ερωτήματος. Αυτό συμβαίνει επειδή θα είχατε ήδη ταξινομήσει την ημερομηνία φθίνουσα κατά τη δημιουργία του ευρετηρίου.

Σε αυτή την περίπτωση, το παραπάνω ερώτημα γίνεται:

db.collectionName.find({age: {$gt: 50}})

Πώς να δημιουργήσετε ένα ευρετήριο στο MongoDB

Μπορείτε να δημιουργήσετε ευρετήρια στο MongoDB χρησιμοποιώντας την ενσωματωμένη διεπαφή φλοιού του. Αυτό λοιπόν θα χρησιμοποιήσουμε σε αυτό το σεμινάριο.

Ωστόσο, τα ευρετήρια δεν υπάρχουν μόνα τους. Πρέπει να έχεις δημιούργησε μια βάση δεδομένων και μια συλλογή προτού μπορέσετε να δημιουργήσετε ένα ευρετήριο.

Όπως αναφέραμε προηγουμένως, ένα σημαντικό χαρακτηριστικό της δημιουργίας ευρετηρίου είναι ότι σας επιτρέπει να καθορίσετε κριτήρια ταξινόμησης κατά τη δημιουργία ευρετηρίου.

Για παράδειγμα, ένας δείκτης που ταξινομεί την ηλικία με αντίστροφη σειρά μοιάζει με αυτό:

db.userCollection.createIndex({ηλικία: -1})

Ο αρνητικός ακέραιος αριθμός (-1) στον κώδικα λέει στο MongoDB να τακτοποιεί την ηλικία με αντίστροφη σειρά κάθε φορά που υποβάλλετε ερώτημα για δεδομένα χρησιμοποιώντας το ηλικία δείκτης. Επομένως, μπορεί να μην χρειαστεί να καθορίσετε μια σειρά ταξινόμησης κατά τη διάρκεια των ερωτημάτων, καθώς το ευρετήριο το χειρίζεται ήδη.

Για να δημιουργήσετε ένα ευρετήριο του ίδιου πεδίου αύξοντα, αντικαταστήστε το -1 με 1:

db.userCollection.createIndex({ηλικία: 1})

Αν και υπάρχουν άλλοι τύποι ευρετηρίου στο MongoDB, αυτός είναι ο τρόπος δημιουργίας της απλής και της σύνθετης φόρμας—καθώς είναι οι πιο χρησιμοποιούμενες.

Αλλά προτού συνεχίσουμε, βεβαιωθείτε ότι το έχετε κάνει δημιουργήστε ένα MongoDB διακομιστή στον υπολογιστή σας. Εάν το έχετε κάνει ήδη, ανοίξτε το κέλυφος MongoDB και ακολουθήστε το.

Δημιουργήστε ένα ενιαίο ευρετήριο στο MongoDB

Η ενιαία ευρετηρίαση στο MongoDB είναι απλή. Για να ξεκινήσετε, επιλέξτε μια βάση δεδομένων που περιέχει ήδη συλλογές.

Ας πούμε ότι το όνομα της βάσης δεδομένων μας είναι MUO:

χρησιμοποιήστε MUO

Μόλις επιλέξετε μια βάση δεδομένων, χρησιμοποιήστε το createIndex() εντολή στο κέλυφος για τη δημιουργία ενός ενιαίου ευρετηρίου.

Για παράδειγμα, για να δημιουργήσετε ένα μεμονωμένο ευρετήριο ονόματος χρήστη σε μια συλλογή και να το χρησιμοποιήσετε για να κάνετε ερωτήσεις με αντίστροφη σειρά:

db.collectionName.createIndex({όνομα χρήστη: -1})

Ευρετηρίαση πολλαπλών κλειδιών στο MongoDB

Τα ευρετήρια πολλαπλών κλειδιών είναι χρήσιμα για την ευρετηρίαση ενός πεδίου σε έναν σύνθετο πίνακα δεδομένων. Για παράδειγμα, μια συλλογή μπορεί να περιέχει πολύπλοκα δεδομένα χρηστών με τις πληροφορίες τους σε άλλη συστοιχία. Για παράδειγμα, πείτε όνομα, ύψος και ηλικία.

Μπορείτε να δημιουργήσετε ένα ευρετήριο πολλαπλών κλειδιών για το ύψος κάθε χρήστη σε αυτόν τον πίνακα ως εξής:

db.customers.createIndex({user.height: 1})

ο ύψος στον παραπάνω κώδικα είναι ένα υποσύνολο του χρήστης πεδίο.

Δημιουργήστε ένα σύνθετο ευρετήριο

Ένας σύνθετος δείκτης περιέχει περισσότερους από έναν δείκτες. Για να δημιουργήσετε ένα σύνθετο ευρετήριο διεύθυνσης και τύπου προϊόντος σε μια συλλογή πελατών, για παράδειγμα:

db.customer.createIndex({διεύθυνση: 1, προϊόντα: 1})

Εφόσον δεν παρείχατε όνομα κατά τη δημιουργία του παραπάνω ευρετηρίου, το MongoDB δημιουργεί ένα από προεπιλογή. Αλλά διαχωρίζει το όνομα κάθε ευρετηρίου με μια υπογράμμιση. Έτσι είναι λιγότερο ευανάγνωστο, ειδικά αν έχετε περισσότερους από δύο δείκτες σε μια ένωση.

Για να καθορίσετε ένα όνομα κατά τη δημιουργία ενός σύνθετου ευρετηρίου:

db.customers.createIndex({location: 1, products: 1, weight: -1}, {name: "myCompundIndex"})

Λάβετε όλα τα ευρετήρια σε μια συλλογή

Για να δείτε όλα τα ευρετήρια σε μια συλλογή:

db.collectionName.getIndexes()

Ο παραπάνω κώδικας εξάγει όλα τα ευρετήρια σε μια επώνυμη συλλογή.

Οργανώστε τη βάση δεδομένων σας με ευρετήρια

Η ευρετηρίαση στο MongoDB μειώνει τον λανθάνοντα χρόνο εκτέλεσης κατά την εκτέλεση ταυτόχρονων ερωτημάτων. Επιπλέον, σας βοηθούν να οργανώσετε τη βάση δεδομένων σας και να την κάνετε πιο προσιτή. Όπως είδατε, τελικά η δημιουργία ευρετηρίων στο MongoDB δεν είναι περίπλοκη. Τα παραδείγματα εδώ είναι αρκετά για να ξεκινήσετε τη δημιουργία ευρετηρίου. Ωστόσο, για να δείτε τα ευρετήριά σας στην πράξη, πρέπει να γνωρίζετε πώς λειτουργεί το ερώτημα στο MongoDB.

Πώς να εκτελέσετε λειτουργίες CRUD στο MongoDB

Η γνωριμία με το MongoDB είναι δύσκολη. Χτυπήστε στο έδαφος τρέχοντας με CRUD.

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Προγραμματισμός
  • Πύθων
  • Προγραμματισμός
  • βάση δεδομένων
Σχετικά με τον Συγγραφέα
Idowu Omisola (Δημοσιεύτηκαν 119 άρθρα)

Ο Idowu είναι παθιασμένος με οτιδήποτε έξυπνη τεχνολογία και παραγωγικότητα. Στον ελεύθερο χρόνο του, παίζει με την κωδικοποίηση και μεταβαίνει στη σκακιέρα όταν βαριέται, αλλά του αρέσει επίσης να ξεφεύγει από τη ρουτίνα που και που. Το πάθος του να δείχνει στους ανθρώπους τον τρόπο γύρω από τη σύγχρονη τεχνολογία τον παρακινεί να γράψει περισσότερα.

Περισσότερα από τον Idowu Omisola

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε