توصيات الدورة
- الصفحة السابقة MongoDB إنشاء مجموعة
- الصفحة التالية MongoDB Find
إدراج مستندات Python MongoDB
المستندات في MongoDB مشابهة للسجلات في قواعد البيانات SQL.
إدراج مجموعة يستعيد حقل _id
الطريقة.
يستعيد حقل _id
لإدراج سجلات أو ما نسميه مستندات في مجموعة MongoDB، نستخدم
النموذج
الطريقة الأولى هي قائمة تحتوي على قائمة تحتوي على اسم كل حقل في المستند الذي نريد إدراجه و القيمة المطلوبة.
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] إدراج سجل في مجموعة "customers": mydict = { "name": "Peter", "address": "Lowstreet 27" }
mydict = { "name": "Bill", "address": "Highway 37" }
يستعيد حقل _id
insert_one() يستعيد الطريقة InsertOneResult التي تحتوي على خصائص
inserted_id
النموذج
، لتحديد id المستند المدرج.
إدراج سجل آخر في مجموعة "customers" وتحديد قيمة حقل _id: mydict = { "name": "Peter", "address": "Lowstreet 27" } x = mycol.insert_one(mydict)
print(x.inserted_id) _id
إذا لم تكن قد تحديدت
في المثال السابق، لم يتم تحديد _id
الحقول، لذلك قام MongoDB بتخصيص _id الفريد لكل سجل (مستند).
إدراج وثائق متعددة
لإدراج العديد من الوثائق في مجموعة MongoDB، نستخدم insert_many()
الطريقة.
insert_many()
الإعداد الأول هو قائمة تحتوي على قوائم تحتوي على البيانات التي سيتم إدراجها:
النموذج
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mylist = [ { "name": "Amy", "address": "Apple st 652"}, { "name": "Hannah", "address": "Mountain 21"}, { "name": "Michael", "address": "Valley 345"}, { "name": "Sandy", "address": "Ocean blvd 2"}, { "name": "Betty", "address": "Green Grass 1"}, { "name": "Richard", "address": "Sky st 331"}, { "name": "Susan", "address": "One way 98"}, { "name": "Vicky", "address": "Yellow Garden 2"}, { "name": "Ben", "address": "Park Lane 38"}, { "name": "William", "address": "Central st 954"}, { "name": "Chuck", "address": "Main Road 989"}, { "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) # طباعة قائمة القيم الخاصة بـ _id للوثائق المُدرجة: print(x.inserted_ids)
insert_many()
يستخدم هذا الطريقة لتحويل InsertManyResult، يمتلك هذا الطريقة خصائص inserted_ids
، للاحتفاظ بـ id الوثائق المدرجة.
إدراج عدة وثائق تحتوي على ID معين
إذا لم تريد أن ي分配 لك MongoDB id فريدًا للوثائق الخاصة بك، يمكنك تحديد حقل _id عند إدراج الوثيقة.
تذكر أن القيم يجب أن تكون فريدة. لا يمكن أن يكون لديه نفس _id في نفس الملفين.
النموذج
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mylist = [ { "_id": 1, "name": "John", "address": "Highway 37"}, { "_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"} ] x = mycol.insert_many(mylist) # طباعة قائمة القيم الخاصة بـ _id للوثائق المُدرجة: print(x.inserted_ids)
- الصفحة السابقة MongoDB إنشاء مجموعة
- الصفحة التالية MongoDB Find