Python MongoDB Find

I MongoDB bruger vi find og findOne-metoderne til at finde data i en samling.

Som SELECT-sætningen bruges til at finde data i tabeller i MySQL-databaser.

Find et element

Hvis vi skal vælge data fra en samling i MongoDB, kan vi bruge find_one() Metode.

find_one() Metoden returnerer det første matchende element i valget.

Eksempel

Find den første dokument i "customers"-sættet:

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

Kør eksempel

Find alt

Hvis vi skal vælge data fra en tabel i MongoDB, kan vi også bruge find() Metode.

find() Metoden returnerer alle matchende elementer i valget.

find() Den første parameter er query-objektet. I dette eksempel bruger vi et tomt query-objekt, der vælger alle dokumenter i sættet.

find() Metoden har ingen parametre, der leverer det samme resultat som SELECT * i MySQL.

Eksempel

Returnerer alle dokumenter i "customers"-sættet og udskriver hver dokument.

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

Kør eksempel

Returnerer kun nogle felter

find() Den anden parameter er et objekt, der beskriver felterne, der inkluderes i resultaterne.

Dette parameter er valgfrit. Hvis det undlades, inkluderes alle felter i resultaterne.

Eksempel

Returnerer kun navn og adresse, ikke _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)

Kør eksempel

Det er ikke tilladt at angive 0 og 1-værdier samtidig i samme objekt (medmindre en af felterne er _id-feltet). Hvis et felt med værdi 0 angives, vil alle andre felter have værdi 1, og omvendt:

Eksempel

Dette eksempel udelukker "address" fra resultaterne:

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

Kør eksempel

Eksempel

Hvis 0 og 1-værdier angives samtidig i samme objekt, opstår der en fejl (medmindre en af felterne er _id-feltet):

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)