Python MongoDB-sök
- Föregående sida MongoDB Infoga
- Nästa sida MongoDB-fråga
I MongoDB använder vi find- och findOne-metoder för att söka data i samlagen.
Liksom SELECT-satsen används för att söka data från tabeller i MySQL-databaser.
Sök ett element
För att välja data från en samling i MongoDB kan vi använda find_one()
Metod.
find_one()
Metoden returnerar den första matchande posten i valet.
Exempel
Sök det första dokumentet i samlaget "customers":
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
Sök alla
För att välja data från en tabell i MongoDB kan vi också använda find()
Metod.
find()
Metoden returnerar alla matchande poster i valet.
find()
Den första parametern är query-objektet. I detta exempel använde vi ett tomt query-objekt som väljer alla dokument i samlaget.
find()
Metoden erbjuder inga parametrar som ger samma resultat som SELECT * i MySQL.
Exempel
Returnerar alla dokument i samlaget "customers" och skriver ut varje dokument:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
Returnerar endast vissa fält
find()
Den andra parametern är ett objekt som beskriver fält som inkluderas i resultatet.
Denna parameter är valfri. Om den utelämnas kommer alla fält att inkluderas i resultaten.
Exempel
Returnerar endast namn och adress, inte _ids:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] för x i mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): print(x)
Det är inte tillåtet att specificera 0 och 1-värden samtidigt i samma objekt (utom om en av fälten är _id-fältet). Om ett fält med värde 0 specificeras, kommer alla andra fält att ha värde 1, och vice versa:
Exempel
Detta exempel exkluderar "address" från resultaten:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] för x i mycol.find({},{ "address": 0 }): print(x)
Exempel
Om 0 och 1-värden specificeras samtidigt i samma objekt uppstår ett fel (utom om en av fälten är _id-fältet):
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] för x i mycol.find({},{ "name": 1, "address": 0 }): print(x)
- Föregående sida MongoDB Infoga
- Nästa sida MongoDB-fråga