Python MongoDB - Temukan

Anda dapat membaca / mengambil dokumen yang disimpan dari MongoDB menggunakan find()metode. Metode ini mengambil dan menampilkan semua dokumen di MongoDB dengan cara yang tidak terstruktur.

Sintaksis

Berikut ini adalah sintaks dari file find() metode.

>db.CollectionName.find()

Contoh

Asumsikan kami telah memasukkan 3 dokumen ke dalam database bernama testDB dalam koleksi bernama sampel menggunakan kueri berikut -

> use testDB
> db.createCollection("sample")
> data = [
   {"_id": "1001", "name" : "Ram", "age": "26", "city": "Hyderabad"},
   {"_id": "1002", "name" : "Rahim", "age" : 27, "city" : "Bangalore" },
   {"_id": "1003", "name" : "Robert", "age" : 28, "city" : "Mumbai" }
]
> db.sample.insert(data)

Anda dapat mengambil dokumen yang dimasukkan menggunakan metode find () sebagai -

> use testDB
switched to db testDB
> db.sample.find()
{ "_id" : "1001", "name" : "Ram", "age" : "26", "city" : "Hyderabad" }
{ "_id" : "1002", "name" : "Rahim", "age" : 27, "city" : "Bangalore" }
{ "_id" : "1003", "name" : "Robert", "age" : 28, "city" : "Mumbai" }
>

Anda juga bisa mengambil dokumen pertama dalam koleksi menggunakan metode findOne () sebagai -

> db.sample.findOne()
{ "_id" : "1001", "name" : "Ram", "age" : "26", "city" : "Hyderabad" }

Mengambil data (find) menggunakan python

Itu find_One() metode pymongo digunakan untuk mengambil satu dokumen berdasarkan kueri Anda, jika tidak ada yang cocok, metode ini tidak mengembalikan apa pun dan jika Anda tidak menggunakan kueri apa pun, metode ini mengembalikan dokumen pertama dari koleksi.

Metode ini berguna setiap kali Anda perlu mengambil hanya satu dokumen dari hasil atau, jika Anda yakin bahwa kueri Anda hanya mengembalikan satu dokumen.

Contoh

Mengikuti contoh python mengambil dokumen pertama dari sebuah koleksi -

from pymongo import MongoClient

#Creating a pymongo client
client = MongoClient('localhost', 27017)

#Getting the database instance
db = client['mydatabase']

#Creating a collection
coll = db['example']

#Inserting document into a collection
data = [
   {"_id": "101", "name": "Ram", "age": "26", "city": "Hyderabad"},
   {"_id": "102", "name": "Rahim", "age": "27", "city": "Bangalore"},
   {"_id": "103", "name": "Robert", "age": "28", "city": "Mumbai"}
]
res = coll.insert_many(data)
print("Data inserted ......")
print(res.inserted_ids)

#Retrieving the first record using the find_one() method
print("First record of the collection: ")
print(coll.find_one())

#Retrieving a record with is 103 using the find_one() method
print("Record whose id is 103: ")
print(coll.find_one({"_id": "103"}))

Keluaran

Data inserted ......
['101', '102', '103']
First record of the collection:
{'_id': '101', 'name': 'Ram', 'age': '26', 'city': 'Hyderabad'}
Record whose id is 103:
{'_id': '103', 'name': 'Robert', 'age': '28', 'city': 'Mumbai'}

Untuk mendapatkan beberapa dokumen dalam satu kueri (metode pencarian od panggilan tunggal), Anda dapat menggunakan find()metode pymongo. Jika belum melewati kueri apa pun, ini mengembalikan semua dokumen dari sebuah koleksi dan, jika Anda telah menyampaikan kueri ke metode ini, ini mengembalikan semua dokumen yang cocok.

Contoh

#Getting the database instance
db = client['myDB']

#Creating a collection
coll = db['example']

#Inserting document into a collection
data = [
   {"_id": "101", "name": "Ram", "age": "26", "city": "Hyderabad"},
   {"_id": "102", "name": "Rahim", "age": "27", "city": "Bangalore"},
   {"_id": "103", "name": "Robert", "age": "28", "city": "Mumbai"}
]
res = coll.insert_many(data)
print("Data inserted ......")

#Retrieving all the records using the find() method
print("Records of the collection: ")
for doc1 in coll.find():
print(doc1)

#Retrieving records with age greater than 26 using the find() method
print("Record whose age is more than 26: ")
for doc2 in coll.find({"age":{"$gt":"26"}}):
print(doc2)

Keluaran

Data inserted ......
Records of the collection:
{'_id': '101', 'name': 'Ram', 'age': '26', 'city': 'Hyderabad'}
{'_id': '102', 'name': 'Rahim', 'age': '27', 'city': 'Bangalore'}
{'_id': '103', 'name': 'Robert', 'age': '28', 'city': 'Mumbai'}
Record whose age is more than 26:
{'_id': '102', 'name': 'Rahim', 'age': '27', 'city': 'Bangalore'}
{'_id': '103', 'name': 'Robert', 'age': '28', 'city': 'Mumbai'}