Python MongoDB Ερωτήσεις

Φιλτράρισμα αποτελεσμάτων

Όταν αναζητάτε έγγραφα σε μια συλλογή, μπορείτε να χρησιμοποιήσετε το αντικείμενο query για να φιλτράρετε τα αποτελέσματα.

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

Παράδειγμα

Αναζητώντας το έγγραφο με την διεύθυνση "Park Lane 38":

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

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

Προηγμένες Αναζητήσεις

Για προηγμένες αναζητήσεις, μπορείτε να χρησιμοποιήσετε τους δείκτες ως τιμές στο αντικείμενο της αναζήτησης.

Για παράδειγμα, αν θέλετε να αναζητήσετε εγγράμματα που ξεκινούν με τα γράμματα "S" ή υψηλότερα (αλφαβητικά), χρησιμοποιήστε τον επιθετικό δείκτη:{"$gt": "S"}:

Παράδειγμα

Αναζήτηση εγγράφων που ξεκινούν με τα γράμματα "S" ή υψηλότερα:

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

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

Χρήση της αντικειμενικής έκφρασης για την επιλογή

Μπορείτε επίσης να χρησιμοποιήσετε την αντικειμενική έκφραση ως επιθετικός.

Η αντικειμενική έκφραση μπορεί να χρησιμοποιηθεί μόνο για αναζητήσεις字符串.

Αν θέλετε να αναζητήσετε εγγράμματα που ξεκινούν με τα γράμματα "S" στο πεδίο "address", χρησιμοποιήστε την αντικειμενική έκφραση {"$regex": "^S"}:

Παράδειγμα

Αναζήτηση εγγράφων που ξεκινούν με τα γράμματα "S":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

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