البحث في MongoDB باستخدام Python
- 上一页 MongoDB Insert
- 下一页 MongoDB Query
في MongoDB، نستخدم طرق find وfindOne للبحث عن بيانات في المجموعات.
مثلما يستخدم جملة 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"] للمضي قدمًا في x في mycol.find(): print(x)
يستعيد فقط بعض الحقول
find()
الإعدادات الثانية هي وصف الكائن الذي يحتوي على الحقول المضمنة في النتيجة.
هذا المعامل هو اختياري، إذا تم تجاوزه، فإن جميع الحقول ستكون مضمونة في النتائج.
مثال
يُعيد فقط الأسماء والعناوين وليس _ids:
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)
- 上一页 MongoDB Insert
- 下一页 MongoDB Query