Python MongoDB εισαγωγή εγγράφων

Τα έγγραφα του MongoDB είναι τα ίδια με τα ρεκόρ των SQL βάσεων δεδομένων.

Εισαγωγή συλλογής

Για να εισάγουμε εγγραφές ή τα έγγραφα που αναφερόμαστε, στη συλλογή του MongoDB, χρησιμοποιούμε insert_one() Μέθοδος.

insert_one() Ο πρώτος παράμετρος της μεθόδου είναι ένα λεξικό που περιέχει τα ονόματα των πεδίων και τις τιμές που θέλετε να εισάγετε στον έγγραφο.

παράδειγμα

Εισάγετε εγγραφή στη συλλογή "customers":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "Μπιλ", "address": "Καλή οδός 37" }
x = mycol.insert_one(mydict)

Εκτέλεση Παραδείγματος

Επιστρέφει το πεδίο _id

insert_one() Η μέθοδος return InsertOneResult αντικείμενο, το οποίο έχει ιδιότητες inserted_idΓια να αποθηκεύσετε το id της εισαχθείσας εγγραφής.

παράδειγμα

Εισάγετε ένα άλλο ρεκόρ στη συλλογή "customers" και επιστρέψτε τη τιμή του πεδίου _id:

mydict = { "name": "Πέτερ", "address": "Χαμηλή οδός 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)

Εκτέλεση Παραδείγματος

Αν δεν καθορίσετε _id Πίνακας, τότε το MongoDB θα σας προσθέσει έναν και θα αποδίδει μοναδικό ID για κάθε εγγραφή.

Στο παραδείγμα, δεν καθορίστηκε _id Πίνακας, οπότε το MongoDB αποδίδει μοναδικό _id για κάθε καταγραφή (εγγραφή).

Εισαγωγή πολλαπλών εγγραφών

Για να εισάγουμε πολλαπλές εγγραφές σε συλλογή του MongoDB, χρησιμοποιούμε insert_many() Μέθοδος.

insert_many() Ο πρώτος παράμετρος της μεθόδου είναι μια λίστα με λεξικά που περιέχουν τα δεδομένα που πρέπει να εισαχθούν:

παράδειγμα

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mylist = [
  {"name": "Αμυ", "address": "Άλμη δρόμος 652"},
  {"name": "Αννα", "address": "Ορος 21"},
  {"name": "Μιχαήλ", "address": "Περιφέρεια 345"},
  {"name": "Σάντι", "address": "Θάλασσα οδός 2"},
  {"name": "Μπέττι", "address": "Χλωρή Άννα 1"},
  {"name": "Ρίτσαρντ", "address": "Ουρανός δρόμος 331"},
  {"name": "Σοφία", "address": "Μονοδρομώ 98"},
  { "name": "Vicky", "address": "Κήπος Κίτρινων Λιβάνιων 2"},
  { "name": "Ben", "address": "Παράδρομος Πάρκου 38"},
  { "name": "William", "address": "Κεντρική Οδός 954"},
  { "name": "Chuck", "address": "Κύρια Οδός 989"},
  { "name": "Viola", "address": "Στρογγυλή Οδός 1633"}
]
x = mycol.insert_many(mylist)
# Εκτύπωση της λίστα με τα _id των εγγράφων που εισήχθησαν:
print(x.inserted_ids)

Εκτέλεση Παραδείγματος

insert_many() η μέθοδος επιστρέφει αντικείμενο InsertManyResult, το οποίο έχει ιδιότητες inserted_idsγια να αποθηκεύσετε τα id των εισαχθέντων εγγράφων.

Εισαγωγή πολλαπλών εγγράφων με καθορισμένο ID

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

Μην ξεχνάτε ότι οι τιμές πρέπει να είναι μοναδικές. Δύο αρχεία δεν μπορούν να έχουν τον ίδιο _id.

παράδειγμα

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mylist = [
  { "_id": 1, "name": "John", "address": "Δρόμος Υψηλός 37"},
  { "_id": 2, "name": "Peter", "address": "Μικρή Οδός 27"},
  { "_id": 3, "name": "Amy", "address": "Οδός Apple 652"},
  { "_id": 4, "name": "Hannah", "address": "Οροσειρά 21"},
  { "_id": 5, "name": "Michael", "address": "Κοιλάδα 345"},
  { "_id": 6, "name": "Sandy", "address": "Πλάκα Ωκεανού 2"},
  { "_id": 7, "name": "Βetty", "address": "Κήπος Γρασιού 1"},
  {"_id": 8, "name": "Richard", "address": "Sky st 331"}
  {"_id": 9, "name": "Susan", "address": "One way 98"},
  {"_id": 10, "name": "Vicky", "address": "Yellow Garden 2"},
  {"_id": 11, "name": "Ben", "address": "Park Lane 38"},
  {"_id": 12, "name": "William", "address": "Central st 954"},
  {"_id": 13, "name": "Chuck", "address": "Main Road 989"},
  {"_id": 14, "name": "Viola", "address": "Sideway 1633"}
]
x = mycol.insert_many(mylist)
# Εκτύπωση της λίστα με τα _id των εγγράφων που εισήχθησαν:
print(x.inserted_ids)

Εκτέλεση Παραδείγματος