MongoDB Find

Python MongoDB Find

Find One

برای پیدا کردن داده ها در یک Collection از متد ()find_one استفاده می‌کنیم.

متد ()find_one اولین نتیجه منطبق را بر می‌گرداند.

 

مثال: پیدا کردن اولین document در “customers

import pymongo

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

x = mycol.find_one()

print(x)

Find All

برای انتخاب از یک Collection در MongoDB می‌توان از متد ()find هم استفاده کرد.

متد ()find تمام نتایج مرتبط را برمی‌گرداند.

پارامتر اول متد ()find یک query object است. ما در این مثال از یک query object خالی استفاده کرده ایم که باعث می‌شود تمام داکیومنت های یک Collection را انتخاب کند. این مانند *SELECT در پایگاه داده SQL است.

import pymongo

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

for x in mycol.find():
  print(x)

Return Only Some Fields

پارامتر دوم متد ()find یک object است که می‌گوید کدام فیلد ها در خروجی نمایش داده شوند.

این پارامتر اختیاری است و اگر استفاده نشود تمام فیلد ها را نمایش می‌دهد.

 

مثال: نمایش فیلد های “name” و “address” و عدم نمایش “id_

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)

مثال: حذف فیلد “address”  از نتایج خروجی.

import pymongo

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

for x in mycol.find({},{ "address": 0 }):
  print(x)

نمی‌توانید همزمان به دو فیلد از یک object مقدار 0 و  1 دهید مگر این که یکی از آن ها فیلد 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)