Python MongoDB Abfrage

Filtern der Ergebnisse

Wenn Sie Dokumente in der Sammlung suchen, können Sie das Query-Objekt verwenden, um die Ergebnisse zu filtern.

find() Der erste Parameter des Verfahrens ist das Query-Objekt, das zur Beschränkung der Suche verwendet wird.

Beispiel

Suchen Sie das Dokument mit der Adresse "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)

Laufendes Beispiel

Fortgeschrittene Abfragen

Für fortgeschrittene Abfragen können Sie Präfixe als Werte im Abfrageobjekt verwenden.

Zum Beispiel, um Dokumente zu finden, deren "address"-Feld mit dem Buchstaben "S" oder höher (alphabetisch) beginnt, verwenden Sie den Greater-Operator:{"$gt": "S"}:

Beispiel

Finden Sie Dokumente, deren Adresse mit dem Buchstaben "S" oder höher beginnt:

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)

Laufendes Beispiel

Verwenden Sie reguläre Ausdrücke, um zu filtern

Sie können reguläre Ausdrücke auch als Präfix verwenden.

Reguläre Ausdrücke können nur für die Abfrage von Zeichenfolgen verwendet werden.

Verwenden Sie reguläre Ausdrücke, um nur Dokumente zu finden, deren "address"-Feld mit dem Buchstaben "S" beginnt {"$regex": "^S"}:

Beispiel

Finden Sie Dokumente, deren Adresse mit dem Buchstaben "S" beginnt:

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)

Laufendes Beispiel