Python – یافتن داده (MongoDB Find)

جستجو در MongoDB

در MongoDB از متدهای find() و find_one() برای پیدا کردن داده‌ها در یک کلکسیون استفاده می‌شود.

مشابه دستور SELECT در پایگاه داده MySQL، این متدها برای انتخاب داده‌ها به کار می‌روند.

یافتن یک سند

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

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

مثال

یافتن اولین سند در کلکسیون “customers”:

import pymongo

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

x = mycol.find_one()

print(x)

یافتن همه اسناد

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

متد find() تمام رخدادهای موجود در انتخاب را برمی‌گرداند.

اولین پارامتر متد find() یک شیء کوئری است. در این مثال از یک شیء کوئری خالی استفاده می‌کنیم که تمام اسناد موجود در کلکسیون را انتخاب می‌کند.

بدون پارامتر در متد find() نتیجه‌ای مشابه SELECT * در MySQL می‌دهد.

مثال

برگرداندن تمام اسناد موجود در کلکسیون “customers” و چاپ هر سند:

import pymongo

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

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

بازگرداندن فقط برخی فیلدها

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

این پارامتر اختیاری است و در صورت عدم ذکر، همه فیلدها در نتیجه گنجانده خواهند شد.

مثال

فقط نام‌ها و آدرس‌ها را برگردانید، نه شناسه‌ها (_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)

شما نمی‌توانید همزمان مقادیر 0 و 1 را در یک شیء مشخص کنید (مگر اینکه یکی از فیلدها، فیلد _id باشد). اگر یک فیلد را با مقدار 0 مشخص کنید، تمام فیلدهای دیگر مقدار 1 می‌گیرند و برعکس.

مثال

این مثال فیلد “address” را از نتیجه حذف می‌کند:

import pymongo

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

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

اگر همزمان مقادیر 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)

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - کلمه کلیدی Let (Let)

JavaScript – کلمه کلیدی Let (Let)

تعریف let کلیدواژه let در ES6 (2015) معرفی شد و دارای ویژگی‌های خاصی است که آن را از var...

بیشتر بخوانید
JavaScript - متغیرها (Variables)

JavaScript – متغیرها (Variables)

متغیرها در جاوا اسکریپت متغیرها در جاوا اسکریپت به عنوان ظرف‌هایی برای ذخیره‌سازی داده‌ها استفاده می‌شوند و می‌توانند به...

بیشتر بخوانید
JavaScript - کامنت‌ها (Comments)

JavaScript – کامنت‌ها (Comments)

کامنت‌ها در جاوا اسکریپت کامنت‌ها در جاوا اسکریپت به برنامه‌نویسان این امکان را می‌دهند تا توضیحاتی را به کد...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.