در قسمت قبل توضیحاتی در رابطه با ثبت PATH به شما دادم. البته توضیحات ارائه شده در رابطه با کاربران ویندوز بود بنابراین بهتر است توضیحاتی را نیز در رابطه با مک و لینوکس ارائه دهم. برای ثبت PATH در مک باید به روش زیر عمل کنید:
bash_profile.
بگردید. اگر وجود ندارد آن را دقیقا با همین نام بسازید.export PATH=/Users/Amir/development/mongodb/bin:$PATH
نکته: به جای Amir و مسیری که در بالا مشخص است، باید آدرس پوشه ی bin خود را بدهید (هر کجا که محتویات فایل دانلود شده از سایت MongoDB را extract کرده اید). از این به بعد مانند کاربران ویندوز، MongoDB را به PATH سیستم اضافه کرده اید و مانند کاربران ویندوز هستید. حالا اگر دستور mongo را در ترمینال اجرا کنید چه می شود؟
اگر یادتان باشد در قسمت قبل کاربران ویندوز با اجرای این دستور یک پیام می گرفتند که نسخه ی سرور دیتابیس را به آن ها نشان می داد. اما در مک و لینوکس احتمالا خطا بگیرید چرا که در مک و لینوکس MongoDB به صورت سرویس (windows services) کار نمی کند بلکه سرور مجازی خودش را دارد. برای اینکه کاربران ویندوز نیز متوجه منظور من شوند، به شما یاد می دهم که در ویندوز چطور این سرویس را غیر فعال کنید تا به شکل دیگری آن را راه بیندازیم (یاد گرفتن هر دو روش خوب است). البته از طرفی، مسیر پیش فرض ذخیره ی فایل های پایگاه داده در ویندوز، مسیر زیر است:
C:\Program Files\MongoDB\Server\4.2\data
اما من می خواهم حتما از مسیری که خودمان ساختیم (پوشه های data و db) استفاده کنم بنابراین اگر کاربر ویندوز هستید، حتما بقیه ی مراحل را بروید. اگر کاربر مک و لینوکس هم می باشید، مجبور هستید این مراحل را طی کنید.
این قسمت را فقط کاربران ویندوز بخوانند. برای غیر فعال کردن سرویس MongoDB ابتدا پنجره های ترمینال را بسته و یک پنجره ی جدید باز کنید. در این پنجره ی جدید دستور زیر را تایپ نمایید:
net stop MongoDB
این دستور باعث قطع شدن سرویس MongoDB در پس زمینه می شود. پس از اجرای این دستور باید عبارت زیر به شما نمایش داده شود:
The MongoDB Server service is stopping.
The MongoDB Server service was stopped successfully.
یعنی سرویس با موفقیت قطع شده است.
از این قسمت به بعد را همه ی کاربران (ویندوز و مک) انجام بدهند. در قسمت قبل سرویس مانگو را برای کاربران ویندوز قطع کریم. حالا اگر بخواهیم به صورت دستی آن را فعال کنیم باید دستور زیر را اجرا کنیم (کاربران مک نیز بدون انجام کار خاص، دستور زیر را در ترمینال اجرا کنند):
mongod
دستور mongod
یعنی mongo + d که d در آن مخفف database (پایگاه داده) است. بنابراین mongod سرویس پایگاه داده ی کلاینت مانگو را اجرا می کند. اگر به پیشنهاد من گوش کرده باشید و پوشه ی data و سپس db را مستقیما در ویندوز C ساخته باشید هیچ خطایی دریافت نمی کنید بلکه توضیحات و نوشته هایی بسیار طولانی برایتان نمایش داده می شوند که یعنی کار موفقیت آمیز بوده است (این همان سرور پایگاه داده ی ما است که در حال اجرا می باشد). اگر این پوشه (db) را در مسیر دیگری ساخته اید باید دستور زیر را اجرا کنید:
mongod --dbpath "\data\db"
البته data\db در کد بالا مسیر پیش فرض است و دستور بالا دقیقا معادل اجرا کردن mongod می باشد. شما باید به جای data\db
مسیر پوشه ی خودتان را قرار دهید. همچنین اگر در مک خطا دریافت کردید، دستور sudo
را نیز به دستور بالا اضافه کنید (مثلا sudo mongod
).
بنابراین اگر کاربر ویندوز هستید:
mongod
را اجرا نمایید تا فایل های پایگاه داده درون پوشه ی data\db ذخیره شوند.اگر کاربر مک هستید:
profile_bash
)./
) را تایپ کرده و OK را بزنید. با این کار به پوشه ی روت سیستم می روید.mongod
را در ترمینال اجرا کنید.البته اگر از macOS Catalina استفاده می کنید، دیگر اجازه ی استفاده از مسیر روت را ندارید بنابراین باید از یک مسیر غیر روت استفاده کنید (مثلا data/db/~
).
توضیحات مهم: در مک و لینوکس باید این ترمینال را همیشه باز نگه دارید و دستورات دیگر را در پنجره ی ترمینال جدیدی اجرا کنید چرا که این ترمینال همان سرور پایگاه داده ی ما است بنابراین اگر آن را ببندید، سرور قطع می شود. کاربران ویندوز فقط باید سیستم خود را یک بار ریستارت کنند تا سرویس MongoDB دوباره به حالت اجرا در بیاید. با این کار دیگر نیازی به اجرای دستور mongod
و باز نگه داشتن ترمینال نیست. به زبان دیگر کاربران ویندوز از این جلسه به بعد فقط باید یک پنجره ی ترمینال را باز کرده و مستقیما دستوراتی را که تمرین می کنیم، تمرین کنند (اصلا و ابدا نیازی به اجرای دستی سرور ندارید). کار هایی که در این جلسه انجام دادیم برای این بود که مسیر پیش فرض سرور دیتابیس خود را از مسیر نصب MongoDB، روی مسیر C:\data\db
بیاوریم تا همه بتوانیم به یک شکل در طول دوره پیش برویم.
برای اطلاعات بیشتر به documentation رسمی MongoDB مراجعه کنید:
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.