Python MongoDB wyszukiwanie
- Poprzednia strona Wstawianie do MongoDB
- Następna strona Zapytanie MongoDB
W MongoDB używamy metod find i findOne do wyszukiwania danych w zbiorze.
Tak jak SELECT zapytanie jest używane do wyszukiwania danych w tabeli w bazie danych MySQL.
Znajdź jedną rzecz
Aby wybrać dane z zbioru w MongoDB, możemy użyć find_one()
Metoda.
find_one()
Metoda zwraca pierwszy dopasowany element wyboru.
Przykład
Znajdź pierwszy dokument w zbiorze "customers":
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
Znajdź wszystko
Aby wybrać dane z tabeli w MongoDB, możemy również użyć find()
Metoda.
find()
Metoda zwraca wszystkie dopasowane elementy wyboru.
find()
Pierwszy parametr metody to obiekt zapytania. W tym przykładzie użyliśmy pustego obiektu zapytania, który wybiera wszystkie dokumenty w zbiorze.
find()
Metoda nie ma parametrów, które dostarczają tego samego wyniku jak SELECT * w MySQL.
Przykład
Zwraca wszystkie dokumenty w zbiorze "customers" i drukuje każdy dokument:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
Zwraca tylko niektóre pola
find()
Drugi parametr metody jest obiektem opisującym pola zawarte w wynikach.
Ten parametr jest opcjonalny, a jeśli jest pomijany, wszystkie pola będą zawarte w wynikach.
Przykład
Zwraca tylko imię i adres, a nie _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)
Nie można jednocześnie określić wartości 0 i 1 w tym samym obiekcie (oprócz pola _id). Jeśli określone pole ma wartość 0, wszystkie inne pola będą miały wartość 1, i vice versa:
Przykład
Ten przykład wyklucza "address" z wyników:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "address": 0 }): print(x)
Przykład
W przypadku jednoczesnego określenia wartości 0 i 1 w tym samym obiekcie wystąpi błąd (oprócz pola _id):
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)
- Poprzednia strona Wstawianie do MongoDB
- Następna strona Zapytanie MongoDB