ذخیره کردن داده ها با nodejs درون بانک داده mongodb

مونگو یک بانک داده غیر رابطه است بر خلاف بانک های داده رابطه ای در این نوع بانک داده معمولا ساختار داده منعطف تری وجود دارد به عنوان مثال در بانک داده mongo لازم نیست طراح در ابتدا ساختار دقیق اسنادی که قرار است ذخیره کند را تعیین کند. بر خلاف بانک های داده رابطه ای که نه تنها باید تعداد فیلد ها، نوع فیلد ها رابطه آنها با هم و اندازه فیلد ها مشخص شوند. این اصرار بر ساختارمند بودن گاه در تناقض با جهان پیچیدی است که ما در آن کار می کنیم. به همین دلیل در بانک های داده ی جدید آن ساختارمندی قبلی کاهش یافته است. یکی از بانک های داده ای که اخیرا مورد توجه قرار گرفته است بانک داده mongo است. یکی از ویژگی های جالب این بانک داده این است که از زبان و ساختار جاوااسکریپت برای تبادل داده استفاده می کند به همین دلیل گزینه مناسبی برای کار با استفاده از nodejs می باشد در این پست با استفاده از درایور mongoose یک سند داده را در بانک داده ذخیره می کنیم.

اتصال به بانک داده mongodb

برای اتصال و تبادل داده در بانک داده mongo می توان از کتابخانه mongoose استفاده کرد کد زیر نحوه اتصال به بانک داده با استفاده از این کتابخانه را نشان می دهد:

خط ۱ کتابخانه را معرفی می کند

خطوط ۳ تا ۵ نحوه اتصال به بانک داده را نشان می دهد.

طرح ها (schema ) در بانک داده

در کتابخانه mongoose از schema برای تعیین طرح اسنادی که قرار است در بانک داده ذخیره شود استفاده می شود. مثال در کد های زیر دو schema ایجاد می شود با استفاده از این scheme نوع فیلد ها، ضروری بودن آنها، معتبر بودن آنها، طول و اندازه آنها و ... مشخص می شود.

کد فوق دو schema را تعیین می کند با استفاده از این scheme می توان نام فیلدها، نوع آنها و مقدار پیش فرض آنها را تعیین کرد حتی می توان قبل از ذخیره کردن داده ها در بانک داده مقدار ارسالی به فیلد ها را اعتبار سنجی کرد. تا از ثبت داده ها نامعتبر در بانک داده جلوگیری کرد.

ایجاد model در بانک داده:

برای ذخیره کردن یا بازیابی اسناد از بانک داده لازم است با استفاده از schema یک مدل در بانک داده ایجاد کرد خط کد زیر با استفاده از schema پست یک مدل به نام post ایجاد می کند بعد از اجرای این دستور یک کالکشن با نام posts در بانک داده ایجاد خواهد شد:

ذخیره کردن یک داده فرضی

در کدهای زیر یک شی جاوااسکریپت ایجاد می کنیم و با استفاده از تابع save ‌آن را در بانک داده ذخیره می کنیم:

منابع

برای مطالعه بیشتر و دقیق تری می توانید به اسناد کتابخانه mongoose در لینک زیر مراجعه کنید

https://mongoosejs.com/docs/guide.html