Τι είναι το db.collection.updateOne() στο MongoDB;

Ti Einai To Db Collection Updateone Sto Mongodb



Το MongoDB είναι μια ισχυρή μη σχεσιακή βάση δεδομένων που μπορεί να αποθηκεύσει πολλά έγγραφα. Μερικές φορές, ο χρήστης μπορεί να χρειαστεί να ενημερώσει ένα μεμονωμένο έγγραφο που πληροί ορισμένα κριτήρια. Σε αυτήν την περίπτωση, μπορούν να χρησιμοποιήσουν το ' db.collection.updateOne() », η οποία ενημερώνει και τροποποιεί το πρώτο έγγραφο που πληροί τα κριτήρια επιλογής και το τροποποιεί.

Τι είναι η μέθοδος 'db.collection.updateOne()' στο MongoDB;

Ο ' db.collection.updateOne() Η μέθοδος ' ενημερώνει ένα μεμονωμένο έγγραφο που ταιριάζει με τα καθορισμένα κριτήρια. Εάν περισσότερα από ένα έγγραφα πληρούν τα κριτήρια, μόνο το πρώτο έγγραφο θα τροποποιηθεί. Μπορεί να χρησιμοποιηθεί με τελεστές ενημέρωσης, όπως ' $set », « $ Inc ' και πολλά περισσότερα .

Πώς να χρησιμοποιήσετε τη μέθοδο 'db.collection.updateOne()' στο MongoDB;

Ο ' db.collection.updateOne() Η μέθοδος μπορεί να χρησιμοποιηθεί για την ενημέρωση ενός μεμονωμένου πεδίου καθώς και πολλαπλών πεδίων ενός μεμονωμένου εγγράφου που ταιριάζουν με τα κριτήρια επιλογής. Επιπλέον, αυτή η μέθοδος μπορεί επίσης να προσθέσει ένα πεδίο σε ένα έγγραφο και μπορεί να χρησιμοποιηθεί με τελεστές ενημέρωσης. Η σύνταξη του « db.collection.updateOne() Η μέθοδος παρέχεται παρακάτω:







Βασική Σύνταξη



db.collection.updateOne ( { φίλτρο_κριτηρίων } , { εκσυγχρονίζω } , { επιλογές } )

Εδώ στην παραπάνω σύνταξη:



  • Αυτή η μέθοδος θα ενημερώσει το πρώτο έγγραφο που πληροί τα κριτήρια επιλογής
  • Ο ' φίλτρο_κριτηρίων ” ορίζει τα κριτήρια για την ενημέρωση
  • Ο ' εκσυγχρονίζω ” περιέχει τα πεδία που θα τροποποιηθούν στο έγγραφο
  • Ο ' επιλογές Το όρισμα είναι ένα προαιρετικό όρισμα που τροποποιεί τη λειτουργία αυτής της μεθόδου, όπως ' άνωθεν ' και ' ίχνος

Για αυτήν την ανάρτηση, θα χρησιμοποιήσουμε ένα ' Linuxhint_Col2 ' έγγραφα της συλλογής για να καταδείξουν τη λειτουργία του ' db.collection.updateOne() μέθοδος. Για να δείτε τα έγγραφα που είναι αποθηκευμένα σε αυτήν τη συλλογή, εκτελέστε την παρεχόμενη εντολή:





db.Linuxhit_Col2.εύρεση ( )

Παραγωγή

Η έξοδος ανέκτησε όλα τα έγγραφα που ήταν αποθηκευμένα στο ' Linuxhint_Col2 ” συλλογή.



Παράδειγμα 1: Ενημερώστε ένα μεμονωμένο πεδίο
Για να ενημερώσετε το μεμονωμένο πεδίο σε ένα έγγραφο, ορίστε τα κριτήρια επιλογής του και ενημερώστε τα κριτήρια. Τα κριτήρια ενημέρωσης μπορούν να καθοριστούν χρησιμοποιώντας τους τελεστές ενημέρωσης. Ας εκτελέσουμε ένα ερώτημα για να ενημερώσουμε το ' Modeling_Fee 'πεδίο σε' 18000 'όπου το ' Επίθετο 'το αντικείμενο ισούται με' Depp » στο έγγραφο:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.Last_Name' : 'Ντεπ' } , { $set : { Modeling_Fee: 18000 } } )

Παραγωγή

Η έξοδος επέστρεψε το μήνυμα επιτυχίας.

Για να επαληθεύσετε τις αλλαγές που έγιναν, ανακτήστε το έγγραφο που επηρεάζεται χρησιμοποιώντας αυτό το ' εύρημα() ' εντολή:

db.Linuxhit_Col2.εύρεση ( { 'Model_Name.Last_Name' : 'Ντεπ' } )

Παραγωγή

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

Παράδειγμα 2: Προσθήκη νέου πεδίου χρησιμοποιώντας τη μέθοδο 'db.collection.updateOne()'
Ο ' db.collection.updateOne() Η μέθοδος ' προσθέτει ένα νέο πεδίο χρησιμοποιώντας το ' $set ' τελεστής στο έγγραφο εάν δεν υπάρχει ήδη. Καθώς το « Εμπειρία Το πεδίο ' δεν υπάρχει για τα έγγραφα όπου το ' Modeling_Fee ' είναι λιγότερο από ' 9000 '.

Ας προσθέσουμε το νέο πεδίο ' Εμπειρία “με την τιμή” Αρχάριος ' στο έγγραφο όπου η ' Modeling_Fee ' είναι λιγότερο από ' 9000 ' χρησιμοποιώντας αυτό το ερώτημα:

db.Linuxhint_Col2.updateOne ( { 'Modeling_Fee' : { $lt : 9000 } } , { $set : { 'Εμπειρία' : 'Αρχάριος' } } )

Παραγωγή

Η έξοδος επιστρέφει το μήνυμα που υποδεικνύει ότι ένα έγγραφο ταιριάζει με τα κριτήρια επιλογής και έχει τροποποιηθεί με επιτυχία.

Ας το επαληθεύσουμε ανακτώντας όλα τα έγγραφα που είναι διαθέσιμα στη συλλογή ' Linuxhint_Col2 ”:

db.Linuxhit_Col2.εύρεση ( )

Παραγωγή

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

Παράδειγμα 3: Ενημέρωση πολλών πεδίων ενός εγγράφου χρησιμοποιώντας τη μέθοδο 'db.collection.updateOne()'
Ο χρήστης μπορεί να τροποποιήσει πολλά πεδία σε ένα μόνο έγγραφο ακόμη. Εδώ αυτό το ερώτημα που δίνεται παρακάτω θα τροποποιήσει το επώνυμο και την ηλικία για το έγγραφο όπου το ' Ονομα 'ίσον' Νώε ':

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Νώε' } , { $set : { 'Model_Name.Last_Name' : 'Ελαφίνα' , 'Model_Age' : 23 } } )

Παραγωγή

Το ερώτημα έχει εκτελεστεί χωρίς κανένα σφάλμα.

Για να επαληθεύσετε τις αλλαγές, χρησιμοποιήστε τη μέθοδο 'find()' για να ανακτήσετε το έγγραφο όπου το ' Ονομα 'ίσον' Νώε :

db.Linuxhit_Col2.εύρεση ( { 'Model_Name.First_Name' : 'Νώε' } )

Παραγωγή

Η έξοδος επέστρεψε το τροποποιημένο έγγραφο με επιτυχία.

Παράδειγμα 4: Χρησιμοποιήστε τη μέθοδο 'db.collection.updateOne()' με τους τελεστές ενημέρωσης
Όπως στο προηγούμενο παράδειγμα, χρησιμοποιήσαμε το ' $set ' ενημερώστε τον τελεστή για να τροποποιήσετε τις τιμές στο ' db.collection.updateOne() μέθοδος. Ας προσπαθήσουμε να χρησιμοποιήσουμε έναν άλλο τελεστή ενημέρωσης ' $ Inc ” το οποίο αυξάνει το πεδίο με το καθορισμένο ποσό.

Εδώ στο ερώτημα που παρέχεται παρακάτω, η μέθοδος αναζητά το έγγραφο όπου το ' Ονομα 'ίσον' Καίτη ' και προσθέτει ' 1000 ' στο ' Modeling_Fee τιμή πεδίου:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Καίτη' } , { $ Inc : { Modeling_Fee: 1000 } } )

Παραγωγή

Η έξοδος επέστρεψε ένα μήνυμα επιτυχίας.

Για να δείτε τις αλλαγές, χρησιμοποιήστε το ' εύρημα() ' μέθοδος ανάκτησης του εγγράφου που επηρεάζεται:

db.Linuxhit_Col2.εύρεση ( { 'Model_Name.First_Name' : 'Καίτη' } )

Παραγωγή

Η έξοδος απεικονίζει την τροποποιημένη τιμή του ' Modeling_Fee '.

Παράδειγμα 5: Προσθέστε ένα νέο έγγραφο εάν δεν υπάρχει ήδη χρησιμοποιώντας το όρισμα 'upsert'
Το προαιρετικό όρισμα μπορεί να χρησιμοποιηθεί για την αλλαγή της συμπεριφοράς αυτής της μεθόδου. Μια τέτοια επιλογή είναι « άνωθεν ” το οποίο προσθέτει ένα νέο έγγραφο εάν κανένα ήδη υπάρχον έγγραφο δεν πληροί τα κριτήρια επιλογής που ορίζονται στο ερώτημα.

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

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Δαβίδ' } , { $set : { Modeling_Fee: 10000 ,  Model_Age: 23 , 'Model_Name.Last_Name' : 'Σιδηρουργός' } } , { upsert: αληθής } )

Παραγωγή

Η έξοδος έδειξε το επιβεβαιωμένο μήνυμα ως αληθές.

Τέλος, επαληθεύστε την τροποποίησή του εκτελώντας αυτήν την εντολή:

db.Linuxhit_Col2.εύρεση ( { 'Model_Name.First_Name' : 'Δαβίδ' } )

Παραγωγή

Η έξοδος απεικόνιζε ότι το νέο έγγραφο προστέθηκε με επιτυχία.

συμπέρασμα

Ο ' db.collection.updateOne() Η μέθοδος στο MongoDB χρησιμοποιείται για την ενημέρωση του πρώτου εγγράφου που πληροί τα κριτήρια επιλογής. Μπορεί να τροποποιήσει ένα μεμονωμένο ή πολλά πεδία σε ένα έγγραφο χρησιμοποιώντας τους τελεστές ενημέρωσης, όπως ' $set ' και ' $ Inc '. Επιπλέον, αυτή η μέθοδος δέχεται επίσης προαιρετικά ορίσματα για την αλλαγή της συμπεριφοράς της μεθόδου, όπως ' άνωθεν ” το οποίο προσθέτει ένα νέο έγγραφο σε περίπτωση που τα κριτήρια επιλογής δεν ταιριάζουν με κάποιο υπάρχον έγγραφο. Αυτή η ανάρτηση έχει συζητήσει τη χρήση του ' db.collection.updateOne() μέθοδος στο MongoDB.