Python MongoDB Find
- Forrige side MongoDB Indsæt
- Næste side MongoDB Query
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)
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)
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)
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)
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)
- Forrige side MongoDB Indsæt
- Næste side MongoDB Query