Python MongoDB etsi
- Edellinen Sivu MongoDB Lisää
- Seuraava Sivu MongoDB Kysely
MongoDB:ssä käytämme find- ja findOne-metodeja kokoelman tietojen hakemiseen.
Kuten SELECT-lause käytetään tietojen hakemiseen MySQL-tietokannan taulusta.
Etsi yksi
Jos haluat valita tietoja MongoDB-kokoelmasta, voimme käyttää find_one()
Metodi.
find_one()
Metodi palauttaa ensimmäisen valinnassa olevan vastaavan.
Esimerkki
Etsi ensimmäinen dokumentti "customers"-kokoelmasta:
tuodaan pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() tulosta(x)
Etsi kaikki
Jos haluat valita tietoja MongoDB-taulusta, voimme käyttää myös find()
Metodi.
find()
Metodi palauttaa kaikki valinnassa olevat vastaavat.
find()
Metodin ensimmäinen parametri on kyselyobjekti. Tässä esimerkissä käytimme tyhjää kyselyobjektia, joka valitsee kokoelman kaikki dokumentit.
find()
Metodi ei tarjoa parametreja, jotka vastaavat MySQL:n SELECT * -tulosta.
Esimerkki
Palauttaa "customers"-kokoelman kaikki dokumentit ja tulostaa kussakin dokumentissa:
tuodaan pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): tulosta(x)
Palauttaa vain tietyt kentät
find()
Toisen parametrin on kuvaus objekti, joka sisältää kentät, jotka sisältyvät tulokseen.
Tämä parametri on valinnainen, jos sitä ei määritetä, kaikki kentät sisältyvät tulokseen.
Esimerkki
Palauttaa vain nimen ja osoitteen, ei _id:itä:
tuodaan pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): tulosta(x)
Ei sallita määrittää samassa objektissa sekä 0 että 1 arvoa (ellei yksi kentistä ole _id-kenttä). Jos määritetään arvoksi 0 kenttä, kaikki muiden kenttien arvot ovat 1, ja päinvastoin:
Esimerkki
Tämä esimerkki poistaa "address": tuloksista
tuodaan pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "address": 0 }): tulosta(x)
Esimerkki
Jos samassa objektissa määritetään sekä 0 että 1 arvo, virhe ilmenee (ellei yksi kentistä ole _id-kenttä):
tuodaan pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "name": 1, "address": 0 }): tulosta(x)
- Edellinen Sivu MongoDB Lisää
- Seuraava Sivu MongoDB Kysely