To update a document in MongoDB, I used to fetch it, update the values, and save back the entry. I would question the need for an update method. Looking back, it's evident that performance optimizations were hardly a concern when working on a personal project.
پیاده سازی معماری میکروسرویس در دات نت با استفاده از ابزار های
Ocelot For Api Getway
RabbitMQ For Message Broker
JWT Token For Authentication And Authorization
SQL Server And MongoDB For Databases
ASP Core Web Api For Our Rest Api And Swagger As Open API
Google RPC (GRPC) For Transfer Data Between Microservice
Docker For Run Database Services ( SQL Server , MongoDB ) And Message Broker ( RabbitMQ )
Free multi-platform database tool for developers, SQL programmers, database administrators and analysts.
اگه قبلا با EF/EFCore کار میکردین و الان میخواین از MongoDb استفاده کنین و میخواین از دانش قبلیتون + مزایای Entity Framework استفاده کنین بهترین گزینه MongoFramework هست
قبلا یه پروایدر مخصوص MongoDb برای EFCore ساخته شد که متاسفانه زیاد توسعه داده نشد (مخزن گیتهابش) و حتی به انتشار نسخه Stable هم نرسید
از بین کتابخونه هایی که تجربه مشابه Entity Framework رو برای MongoDb فراهم میکنن یکی MongoFramework هست و دیگری MongoDbContext (که البته به پای اون یکی نمیرسه)
یه MongoDbGenericRepository هم هست که صرفا یه Wrapper رو MongoDb هست و سعی کرده یه پیاده سازی از Repository ارائه بده ولی امکانات EF و DbContext طوری نداره
خلاصه اینکه من همه معروفاشونو بررسی کردم و بهترینشون همین MongoFramework هست که البته همه امکانات EF رو نداره ولی بازم امکانات خوبی داره که توی گیتهابش توضیح داده و پیشنهاد میکنم یه نگاه به صفحه گیتهابش بندازین
اگه توی پروژه ASP.NET Core ایی تون از MongoDb استفاده میکنین و میخواین از سیستم احراز هویت Identity روش پیاده کنین، این کتابخونه کار یکپارچه سازیش رو براتون انجام میده
کتابخانههای زیادی برای پشتیبانی از MongoDb در Identity وجود دارند که من همشون رو بررسی کردم و این بهترینشون و کاملترینشون بود (بعدشم این یکی)
A MongoDb UserStore and RoleStore adapter for Microsoft.AspNetCore.Identity 2.2. Allows you to use MongoDb instead of SQL server with Microsoft.AspNetCore.Identity 2.2
توسط این کتابخانه میتوانید دیتابیسهای MongoDb را بدون نیاز به نصب آنها، به صورت یکبار مصرف ایجاد کنید. یعنی یک دیتابیس موقت (در پوشه Temp سیستم عامل) برای شما میسازد و در آخر وقتی کار شما با آن تمام شد، آن را حذف میکند. در نتیجه برای Integration Testing بسیار مناسب و کاربردی هست.
طرز کار با آن خیلی سادهاست؛ فقط کافی است بستهی NuGet آن را نصب کنید:
Install-Package Mongo2Go
و به صورت زیر از آن استفاده کنید:
using (var runner = MongoDbRunner.Start()) { var client = new MongoClient(runner.ConnectionString); var database = client.GetDatabase("IntegrationTest"); var collection = database.GetCollection<TestDocument>("TestCollection"); //Just use it! }