Cari MongoDB dengan Python

Di MongoDB, kami menggunakan metode find dan findOne untuk mencari data di dalam koleksi.

seperti pernyataan SELECT digunakan untuk mencari data di tabel database MySQL.

cari satu item

Untuk memilih data dari koleksi MongoDB, kami dapat menggunakan find_one() Metode.

find_one() Metode ini mengembalikan item pertama yang cocok dalam pilihan.

Contoh

cari dokumen pertama dalam koleksi customers:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)

Jalankan Contoh

cari semua

Untuk memilih data dari tabel MongoDB, kami masih dapat menggunakan find() Metode.

find() Metode ini mengembalikan semua item yang cocok dalam pilihan.

find() Parameter pertama adalah objek query. Dalam contoh ini, kami menggunakan objek query yang kosong, yang akan memilih semua dokumen dalam koleksi.

find() Metode ini tidak memiliki parameter yang menyediakan hasil yang sama seperti SELECT * di MySQL.

Contoh

mengembalikan semua dokumen dalam koleksi "customers" dan mencetak setiap dokumen:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():
  print(x)

Jalankan Contoh

hanya mengembalikan beberapa kolom

find() Parameter kedua adalah objek deskripsi yang mengandung kolom yang disertakan dalam hasil.

Parameter ini adalah opsional, jika disingkirkan, semua kolom akan disertakan di dalam hasil.

Contoh

Hanya kembalikan nama dan alamat, bukan _ids:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
untuk x di mycol.find({},{ "_id": 0, "name": 1, "address": 1 }):
  print(x)

Jalankan Contoh

Tidak diizinkan untuk menentukan nilai 0 dan 1 di dalam objek yang sama sekaligus (kecuali salah satu kolom adalah kolom _id). Jika kolom yang diizinkan nilai 0, maka nilai semua kolom lain adalah 1, dan sebaliknya:

Contoh

Contoh ini mengeluarkan "address" dari hasil:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
untuk x di mycol.find({},{ "address": 0 }):
  print(x)

Jalankan Contoh

Contoh

Jika nilai 0 dan 1 diset di objek yang sama sekaligus, akan muncul kesalahan (kecuali salah satu kolom adalah kolom _id):

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
untuk x di mycol.find({},{ "name": 1, "address": 0 }):
  print(x)