Python MongoDB Εύρεση

Στο MongoDB, χρησιμοποιούμε τις μεθόδους find και findOne για την εύρεση δεδομένων στη συλλογή.

Καθώς η εντολή SELECT χρησιμοποιείται για την εύρεση δεδομένων από τις στήλες της βάσης δεδομένων MySQL.

Εύρεση ενός στοιχείου

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

find_one() Η μέθοδος επιστρέφει το πρώτο ταιριάζοντα στοιχείο της επιλογής.

Παράδειγμα

Εύρεση του πρώτου εγγράφου στη συλλογή "customers":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)

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

Εύρεση όλων

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

find() Η μέθοδος επιστρέφει όλα τα ταιριάζοντα στοιχεία της επιλογής.

find() Ο πρώτος παράμετρος της μεθόδου είναι το αντικείμενο query. Σε αυτό το παράδειγμα, χρησιμοποιήσαμε ένα κενό αντικείμενο query, το οποίο επιλέγει όλα τα έγγραφα της συλλογής.

find() Η μέθοδος δεν παρέχει παραμέτρους που παρέχουν το ίδιο αποτέλεσμα με το SELECT * στο MySQL.

Παράδειγμα

Επιστρέφει όλους τους έγγραφα της συλλογής "customers" και εκτυπώνει κάθε έγγραφο:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
για x σε mycol.find():
  print(x)

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

Επιστρέφει μόνο ορισμένα πεδία

find() Ο δεύτερος παράμετρος της μεθόδου είναι το αντικείμενο που περιγράφει τα πεδία που περιλαμβάνονται στο αποτέλεσμα.

Αυτός ο παράμετρος είναι προαιρετικός. Αν παραλειφθεί, όλα τα πεδία θα περιλαμβάνονται στα αποτελέσματα.

Παράδειγμα

Επιστρέφει μόνο το όνομα και τη διεύθυνση, όχι τα _ids:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }):
  print(x)

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

Δεν επιτρέπεται να οριστούν ταυτόχρονα τιμές 0 και 1 στον ίδιο αντικείμενο (μαζί με εξαίρεση αν ένας από τους πεδία είναι το πεδίο _id). Αν οριστεί τιμή 0 για το πεδίο, τότε όλες οι άλλες τιμές θα είναι 1 και vice versa:

Παράδειγμα

Αυτό το παράδειγμα αφαιρεί το "address" από τα αποτελέσματα:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "address": 0 }):
  print(x)

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

Παράδειγμα

Αν οριστούν ταυτόχρονα τιμές 0 και 1 στον ίδιο αντικείμενο, θα εμφανιστεί σφάλμα (μαζί με εξαίρεση αν ένας από τους πεδία είναι το πεδίο _id):

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "name": 1, "address": 0 }):
  print(x)