منوهای نصب در پنل مدیریت

  • ورود
  • سبد خرید شما خالی است.

آموزشMongo DB + بخش دوم

آموزشMongo DB + بخش دوم

خب دوستان در این مقاله قرار است ادامه مقاله آموزشMongo DB + بخش اول را تکمیل کنیم و به قول گفتنی پرونده این آموزش را هم ببندیم.

اگر مقالات مربوط به مونگو دیبی چیست؟! و آموزش نصب مونگو دیبی را ندیدید پیشنهاد می کنیم قبل از دیدن این مقاله حتما یک سر به این مقالات بزنید.

جستجو در مونگو دیبی

نتیجه را فیلتر کنید

هنگام پیدا کردن  document ها  در یک collection ، می توانید با استفاده از query object نتیجه را فیلتر کنید. اولین آرگومان متد find()   یک query object است و برای محدود کردن جستجو استفاده می شود.

مثال: یافتن document ها  با آدرس “Park Lane 38”:

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myquery = { “address”: “Park Lane 38” }

mydoc = mycol.find(myquery)

for x in mydoc:

  print(x)

Query (جستجو) پیشرفته

  مثال: document ها را در جایی که آدرس با حرف “S” یا بالاتر شروع می شود پیدا کنید: 

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myquery = { “address”: “Park Lane 38” }

mydoc = mycol.find(myquery)

for x in mydoc:

  print(x)

برای ایجاد نمایش داده های پیشرفته می توانید از  query object به عنوان تعدیل کننده استفاده کنید.

به عنوان مثال. برای پیدا کردن document ها جایی که فیلد”address” با حرف “S” یا بالاتر (الفبای) شروع می شود ، از بزرگتر از(greater than) اصلاح کننده {“$gt”: “S”} استفاده کنید.

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myquery = { “address”: {“$gt”: “S”} }

mydoc = mycol.find(myquery)

for x in mydoc:

  print(x)

فیلتر با عبارات منظم(regular expressions)

همچنین می توانید از اصطلاحات منظم (regular expressions) به عنوان اصلاح کننده استفاده کنید.

عبارات منظم (regular expressions) فقط برای جستجوی رشته ها قابل استفاده است. 

برای پیدا کردن فقط documentها جایی که فیلد “address” با حرف “S” شروع می شود ، از عبارات منظم (regular expressions)  {"$regex": "^S"}: استفاده کنید:

مثال: document هایی را پیدا کنید که آدرس با حرف “S” شروع شود:

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

#address starts with S:

myquery = { “address”: { “$regex”: “^S” } }

mydoc = mycol.find(myquery)

for x in mydoc:

  print(x)

نتیجه را مرتب کنید

برای مرتب کردن نتیجه به ترتیب صعودی یا نزولی از متد  sort()استفاده کنید.

متد sort() یک پارامتر برای “fieldname” و یک پارامتر برای “direction” می گیرد (صعودی جهت پیش فرض است).

نتیجه حروف الفبا را  بر اساس نام مرتب سازی کنید:

 import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

mydoc = mycol.find().sort(“name”)

for x in mydoc:

  print(x)

مرتب سازی نزولی

برای مرتب سازی نزولی از مقدار -1 به عنوان دومین پارامتر استفاده کنید.

sort(“name”, 1)   #صعودی

sort(“name”, -1)  #نزولی

نتیجه حروف الفبا را  بر اساس نام  معکوس مرتب سازی کنید:

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

mydoc = mycol.find().sort(“name”, -1)

for x in mydoc:

print(x)

حذف Document در mongo DB

برای حذف یک document، از متد delete_one() استفاده می کنیم. اولین پارامتر متد delete_one()  یک query object است که document را حذف می کند.

توجه: اگر query بیش از یک document پیدا کرد ، فقط اولین مورد حذف می شود.

مثال : document ای  را با آدرس “Mountain 21” حذف کنید:

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myquery = { “address”: “Mountain 21” }

mycol.delete_one(myquery)

#print the customers collection after the deletion:

for x in mycol.find():

print(x)

بسیاری از Document ها را را حذف کنید

برای حذف بیش از یک Document  ، از متد delete_many()  استفاده کنید. اولین پارامتر متد delete_many() یک query object  است که می تواند اسناد را حذف کند.

مثال: همه document ها را حذف کنید ، زیرا آدرس با حرف S شروع می شود:

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myquery = { “address”: {“$regex”: “^S”} }

x = mycol.delete_many(myquery)

print(x.deleted_count, “documents deleted”)

همه  documentهای در یک collection را حذف کنید

برای حذف همه document  ها در یک collection ، یک query object خالی را به متد delete_many() منتقل کنید:

مثال: همه document های مجموعه “customers” راحذف کنید:

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

x = mycol.delete_many({})

print(x.deleted_count, “documents deleted”)

حذف Collection (مجوعه)

با استفاده از  متد drop()  می توانید table یا collection را همانطور که در MongoDB نامیده می شود حذف کنید.

مثال: حذف مجموعه “customers”  :

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

mycol.drop()

متد drop() مقدارtrue  را اگر collection با موفقیت حذف شده بود، و false را اگر collectionوجود نداشت بر میگرداند.

به روزرسانی collection

با استفاده از متد update_one()  می توانید رکورد یا سند را آنگونه که در MongoDB نامیده می شود ، به روز کنید. اولین پارامتر متد update_one() یک x است که x را برای به روز رسانی تعریف می کند.

توجه: اگر query بیش از یک رکورد پیدا کرد ، فقط اولین مورد بروزرسانی می شود.

پارامتر دوم شیئی است که مقادیر جدید document را تعریف می کند.

مثال: آدرس را از “Valley 345” به “Canyon 123” تغییر دهید.

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myquery = { “address”: “Valley 345” }

newvalues = { “$set”: { “address”: “Canyon 123” } }

mycol.update_one(myquery, newvalues)

#print “customers” after the update:

for x in mycol.find():

print(x)

بسیاری را به روز کنید

برای به روزرسانی همه   documentهایی که با معیارهای پرس و جو مطابقت دارد ، ازمتد update_many () استفاده کنید.

مثال: همه document  هایی را که آدرس با حرف “S” شروع می شود ، به روز کنید.

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myquery = { “address”: { “$regex”: “^S” } }

newvalues = { “$set”: { “name”: “Minnie” } }

x = mycol.update_many(myquery, newvalues)

print(x.modified_count, “documents updated.”)

نتیجه را محدود کنید

برای محدود کردن نتیجه در MongoDB ، از روش limit () استفاده می کنیم. متد  limit()  یک پارامتر و یک عدد میگیرد که تعریف میکند که چه مقدار از document ها میتوان برگرداند.

در نظر بگیرید که مجموعه “customers”را  دارید

Customers

{‘_id’: 1, ‘name’: ‘John’, ‘address’: ‘Highway37’}

{‘_id’: 2, ‘name’: ‘Peter’, ‘address’: ‘Lowstreet 27’}

{‘_id’: 3, ‘name’: ‘Amy’, ‘address’: ‘Apple st 652’}

{‘_id’: 4, ‘name’: ‘Hannah’, ‘address’: ‘Mountain 21’}

{‘_id’: 5, ‘name’: ‘Michael’, ‘address’: ‘Valley 345’}

{‘_id’: 6, ‘name’: ‘Sandy’, ‘address’: ‘Ocean blvd 2’}

{‘_id’: 7, ‘name’: ‘Betty’, ‘address’: ‘Green Grass 1’}

{‘_id’: 8, ‘name’: ‘Richard’, ‘address’: ‘Sky st 331’}

{‘_id’: 9, ‘name’: ‘Susan’, ‘address’: ‘One way 98’}

{‘_id’: 10, ‘name’: ‘Vicky’, ‘address’: ‘Yellow Garden 2’}

{‘_id’: 11, ‘name’: ‘Ben’, ‘address’: ‘Park Lane 38’}

{‘_id’: 12, ‘name’: ‘William’, ‘address’: ‘Central st 954’}

{‘_id’: 13, ‘name’: ‘Chuck’, ‘address’: ‘Main Road 989’}

{‘_id’: 14, ‘name’: ‘Viola’, ‘address’: ‘Sideway 1633’}

مثال: نتیجه را محدود کنید تا فقط 5  document را بازگردانید:

import pymongo

myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

mydb = myclient[“mydatabase”]

mycol = mydb[“customers”]

myresult = mycol.find().limit(5)

#print the result:

for x in myresult:

 print(x)

خب دوستان این مقاله آموزشی هم تکمیل شد امیدوارم تونست باشیم این آموزش رو بدون مشکل یاد بگیرید و اگر سوال یا ابهامتی برای شما در مقاله بوجود اومده میتونید در بخش نظرات به اشتراک بگذارید تا در اسرع وقت پاسخ دهیم.

منبع:منبع: w3schools.com

۰ پاسخ به "آموزشMongo DB + بخش دوم"

ارسال یک پیام

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

X