Python MongoDB Vind
In MongoDB gebruik ons die find and findOne- metodes om data in 'n versameling te vind.
Net soos die SELECT -stelling gebruik word om data in 'n tabel in 'n MySQL-databasis te vind.
Soek een
Om data uit 'n versameling in MongoDB te kies, kan ons die
find_one()
metode gebruik.
Die find_one()
metode gee die eerste voorkoms in die seleksie terug.
Voorbeeld
Vind die eerste dokument in die kliënteversameling:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)
Vind alles
Om data uit 'n tabel in MongoDB te kies, kan ons ook die
find()
metode gebruik.
Die find()
metode gee alle voorkomste in die seleksie terug.
Die eerste parameter van die find()
metode is 'n navraagobjek. In hierdie voorbeeld gebruik ons 'n leë navraagobjek, wat alle dokumente in die versameling selekteer.
Geen parameters in die find() metode gee jou dieselfde resultaat as SELECT * in MySQL.
Voorbeeld
Stuur alle dokumente in die "kliënte"-versameling terug en druk elke dokument:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():
print(x)
Gee slegs enkele velde terug
Die tweede parameter van die find()
metode is 'n objek wat beskryf watter velde om in die resultaat in te sluit.
Hierdie parameter is opsioneel, en as dit weggelaat word, sal alle velde by die resultaat ingesluit word.
Voorbeeld
Gee slegs die name en adresse terug, nie die _ids nie:
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)
Jy word nie toegelaat om beide 0 en 1 waardes in dieselfde voorwerp te spesifiseer nie (behalwe as een van die velde die _id-veld is). As jy 'n veld met die waarde 0 spesifiseer, kry alle ander velde die waarde 1, en omgekeerd:
Voorbeeld
Hierdie voorbeeld sal "adres" van die resultaat uitsluit:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "address": 0 }):
print(x)
Voorbeeld
Jy kry 'n fout as jy beide 0 en 1 waardes in dieselfde voorwerp spesifiseer (behalwe as een van die velde die _id veld is):
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)