Forwarded from رقصنده با کد (Ali KhodaieeDoost)
Media is too big
VIEW IN TELEGRAM
ورزش روزانه در خانه بدون تجهیزات
#workout
#workout
سلام همگی دوستان.
این مدتی که نیستم دارم روی یک پروژه کامل کار میکنم با استک زیر :
Mongodb (community) , ExpressJs )Mongoose , REST) , ReactJs (MaterialUI , NextJs) , NodeJs
برای هر کدوم از best practice ها و آخرین نسخه استفاده میکنم و پروژه علاوه بر لاگین و داشبورد و پنل مدیریت ، role-based و permission-based هم هست.
ترکیب همه اینارو هیچ جای اینترنت پیدا نخواهید کرد. یا حتی اگر باشه برای چند سال پیشه.
طی هفته های آینده این پروژه تکمیل میشه و به رایگان روی گیت هاب قرار میگیره.
مطمنا ضعف هایی خواهد داشت مخصوصا تو حوزه استایل (خیلی ذوق هنری ندارم😅) ولی مطمنا به خیلی ها میتونه کمک کنه.
این مدتی که نیستم دارم روی یک پروژه کامل کار میکنم با استک زیر :
Mongodb (community) , ExpressJs )Mongoose , REST) , ReactJs (MaterialUI , NextJs) , NodeJs
برای هر کدوم از best practice ها و آخرین نسخه استفاده میکنم و پروژه علاوه بر لاگین و داشبورد و پنل مدیریت ، role-based و permission-based هم هست.
ترکیب همه اینارو هیچ جای اینترنت پیدا نخواهید کرد. یا حتی اگر باشه برای چند سال پیشه.
طی هفته های آینده این پروژه تکمیل میشه و به رایگان روی گیت هاب قرار میگیره.
مطمنا ضعف هایی خواهد داشت مخصوصا تو حوزه استایل (خیلی ذوق هنری ندارم😅) ولی مطمنا به خیلی ها میتونه کمک کنه.
خلاصه تجربیات تلخ این چند روز :
اگر قبلا Sql کار میکردید و الان شیفت دادید به NoSql ، قبل از انجام هر کاری حتما کانسپتهای اصلی و داکیومنت دیتابیس و درایور موردنظرتون رو بخونید.
هر گردی گردو نیست.
اگر قبلا Sql کار میکردید و الان شیفت دادید به NoSql ، قبل از انجام هر کاری حتما کانسپتهای اصلی و داکیومنت دیتابیس و درایور موردنظرتون رو بخونید.
هر گردی گردو نیست.
مقایسه populate و lookup در MongoDB
لینک اصلی :
https://medium.com/cameoeng/mongodb-lookups-and-populates-an-unexpected-journey-940e08e36a94
لینک اصلی :
https://medium.com/cameoeng/mongodb-lookups-and-populates-an-unexpected-journey-940e08e36a94
روی MongoDB اگر میخواهید ببینید که مقدار مورد نظرتون داخل آرایه ای که روی یک فیلد ذخیره شده ، وجود داره یا نه ، سراغ روشهای عجیب غریب نرید. از ویژگی های خود منگو استفاده کنید. برای مثال بالا بنویسید :
db.<collection_name>.find( { tags: "red" } )
خروجیش میشه همه documentهایی که مقدار red یکی از اعضای tags داخلشونه.
ولی حواستون باشه اگر بخواهید بیشتر از یک آیتم رو روی یک آرایه چک کنید باید ترتیب هم رعایت کنید مثلا :
db.<collection_name>.find( { tags: [ "blank", "red" ] } )
برای چک کردن nested object ها هم از همچین سینتکسی برای مثال بالا میتونید استفاده کنید :
db.<collection_name>.find( { "size.uom": "in" } )
در آخر هم برای اینکه فقط چندتا فیلد رو برگردونید میتونید بنویسید :
db.<collection>.find( {}, { _id: 0, item: 1, status: 1 } );
معنی ۱ این میشه که اون فیلد رو برگردون ، صفر هم میشه برنگردون. وقتی از این روش استفاده میکنید همه فیلدها صفر میشه به جز اونا که خودتون ۱ کردید و فیلد _id. برای اینکه فیلد _id هم نیاد باید صریحا مقدارش رو صفر کنید.
نکته : بهتره که مقدار _id رو توی ریسپانس برنگردونید
#mongodb #nosql
db.<collection_name>.find( { tags: "red" } )
خروجیش میشه همه documentهایی که مقدار red یکی از اعضای tags داخلشونه.
ولی حواستون باشه اگر بخواهید بیشتر از یک آیتم رو روی یک آرایه چک کنید باید ترتیب هم رعایت کنید مثلا :
db.<collection_name>.find( { tags: [ "blank", "red" ] } )
برای چک کردن nested object ها هم از همچین سینتکسی برای مثال بالا میتونید استفاده کنید :
db.<collection_name>.find( { "size.uom": "in" } )
در آخر هم برای اینکه فقط چندتا فیلد رو برگردونید میتونید بنویسید :
db.<collection>.find( {}, { _id: 0, item: 1, status: 1 } );
معنی ۱ این میشه که اون فیلد رو برگردون ، صفر هم میشه برنگردون. وقتی از این روش استفاده میکنید همه فیلدها صفر میشه به جز اونا که خودتون ۱ کردید و فیلد _id. برای اینکه فیلد _id هم نیاد باید صریحا مقدارش رو صفر کنید.
نکته : بهتره که مقدار _id رو توی ریسپانس برنگردونید
#mongodb #nosql