Python MongoDB zapytania

Filtrowanie wyników

Podczas wyszukiwania dokumentów w zbiorze możesz używać obiektu query do filtrowania wyników.

find() Pierwszy parametr metody to obiekt query, który określa kryteria wyszukiwania.

Przykład

Szukaj dokumentów o adresie "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)

Uruchomienie przykładu

Zaawansowane zapytania

Aby przeprowadzić zaawansowane zapytania, można użyć modyfikatorów jako wartości w obiekcie zapytania.

Na przykład, aby znaleźć dokumenty, których pole "address" zaczyna się od litery "S" lub wyższej (alfabetycznie), użyj modyfikatora większego od:{"$gt": "S"}:

Przykład

Znajdowanie dokumentów, których adres zaczyna się od litery "S" lub wyższej:

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)

Uruchomienie przykładu

Filtrowanie za pomocą wyrażenia regularnego

Możesz również użyć wyrażenia regularnego jako modyfikatora.

Wyrażenia regularne mogą być używane tylko do zapytań stringowych.

Jeśli chcesz znaleźć dokumenty, których pole "address" zaczyna się od litery "S", użyj wyrażenia regularnego: {"$regex": "^S"}:

Przykład

Znajdowanie dokumentów, których adres zaczyna się od litery "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)

Uruchomienie przykładu