اگر آپ کچھ عرصے سے رشتہ دار ڈیٹا بیس مینجمنٹ سسٹم کی کسی بھی شکل میں رہے ہیں تو ، آپ شاید اس کے نام پر آگئے ہوں گے . سب سے پہلے سال 2009 میں متعارف کرایا گیا ، آج منگو ڈی بی انڈسٹری میں سب سے مشہور رشتہ دار ڈیٹا بیس مینجمنٹ سسٹم میں سے ایک ہے۔ اس کی پاگل مقبولیت کی سب سے بڑی وجہ مارکیٹ میں موجود ایس کیو ایل جیسے پرانے رشتہ دار ڈیٹا بیس سافٹ ویئر مینیجرز کی موجودگی کے باوجود اس کی میز پر لانے والی بڑی تعداد اور بڑی استعداد ہے۔ مونگو ڈی بی کا استعمال بہت ساری ضروریات کو ختم کرتا ہے ، ان میں سے ایک ڈیٹا بیس بنانے کی ضرورت ہے اور ہر بار جب کوئی نیا پروجیکٹ شروع ہوتا ہے تو ڈیٹا کی قسم کی وضاحت ہوتی ہے۔ منگو ڈی بی کلائنٹ مضمون کا ایجنڈا:
- منگو ڈی بی کلائنٹ کے لئے ضروری شرائط
- ماون پر پروجیکٹ بنانا
- آپ کی پہلی JSON ریسٹ سروس کو شامل کرنا
- مونگو ڈی بی ڈیٹا بیس کی تشکیل
- تشکیل شدہ مونگو ڈی بی ڈیٹا بیس چل رہا ہے
- سامنے والا انجام بنانا
- BSON کوڈیک کا استعمال کرکے منگو ڈی بی کلائنٹ کو آسان بنانا
- حتمی کوڈ
لیکن مونگو ڈی بی سے زیادہ سے زیادہ فعالیت حاصل کرنے کے ل one ، کسی کو منگو ڈی بی موکل سے واقف ہونے کی ضرورت ہے اور اس مضمون میں ہم اس پر بات کریں گے۔
منگو ڈی بی کلائنٹ کے لئے ضروری شرائط
اس مضمون کو مکمل طور پر ترتیب دینے کے ل you ، آپ کو پہلے درج ذیل شرائط کو پورا کرنا ہوگا۔
اپنے نظام میں پہلے سے ہی ایک IDE موجود ہے۔
جاوا ڈویلپمنٹ کٹ یا JDK ورژن 1.8 اور اس سے زیادہ JAVA_HOME کے ساتھ انسٹال کیا گیا ہے جو مناسب طریقے سے تشکیل دیا گیا ہے۔
ڈوکر یا مونگو ڈی بی انسٹال ہوا۔
اپاچی ماون ورژن 3.5.3 اور اس سے اوپر کا۔
ہم نے اس ہدایت نامہ میں جو فن تعمیر تخلیق کیا ہے اور استعمال کیا ہے وہ ایک آسان ترین نظام ہے۔ جب عمل درآمد ہوتا ہے تو صارف آسانی سے کسی فہرست میں اعداد و شمار اور عناصر شامل کرسکتا ہے ، جس کے بعد یہ خود بخود ڈیٹا بیس میں تازہ کاری ہوجائے گا۔
اس کے ساتھ ، ہم نے یہ یقینی بنادیا ہے کہ ڈیٹا اور سرور کے مابین تمام مواصلات JSON میں ہیں اور تمام کوائف مونگو ڈی بی میں محفوظ ہے۔
اس منصوبے کے ساتھ شروع کرنے کے لئے ، ذیل میں دیئے گئے مراحل پر عمل کریں۔
مرحلہ # 1: ماون پر پراجیکٹ کی تشکیل
پہلا قدم ہمیشہ ایک نیا پروجیکٹ بنانا ہوتا ہے اور ایسا کرنے کے لئے ، درج ذیل کوڈ کا استعمال کریں۔
mvn io.quarkus: quarkus-maven-پلگ ان: 0.22.0: create -DprojectGroupId = org.acme -DprojectArtifactId = استعمال کرتے ہوئے-منگوڈب-کلائنٹ -DclassName = 'org.acme.rest.json.F فروسراوسورس' -Dpath = '/ پھل '-Dex એક્سٹینشنز =' ریسٹیسی-جسنب ، منگڈب- موکل '
جب آپ مذکورہ کمانڈ چلاتے ہیں تو ، IDE JSON-B ، منگو ڈی بی کے ساتھ ساتھ RESTEasy / JAX-RS مؤکلوں کو آپ کے سسٹم پر درآمد کرے گا۔
مرحلہ 2 کے ساتھ آگے بڑھ رہے ہیں۔
مرحلہ # 2: آپ کی پہلی JSON ریسٹ سروس کو شامل کرنا
ایسا کرنے کے لئے ، ذیل میں کوڈ استعمال کریں۔ پیکیج org.acme.rest.json درآمد java.util.Objects عوامی کلاس پھل {نجی اسٹرنگ کا نام نجی سٹرنگ کی تفصیل عوامی پھل ()}} عوامی پھل (اسٹرنگ کا نام ، اسٹرنگ ڈسپلےمنٹ) {this.name = name this.description = وضاحت St عوامی سٹرنگ getName () {واپسی کا نام} عوامی باطل setName (سٹرنگ کا نام) {this.name = name} عوامی سٹرنگ getDescript () {واپسی کی تفصیل} عوامی باطل سیٹ ڈیسکریپیشن (سٹرنگ ڈسپلےمنٹ) {this.description = وضاحت} @ اوور رائڈ پبلک بولین برابر (اعتراض آبجیکٹ) {اگر (! (اعتراض مثال کے طور پر پھل)) false واپسی غلط} پھل دوسرے = (پھل) اعتراض آبجیکٹ آبجیکٹ.قابلیت (دوسرے نام ، یہ نام)} @ آوررائڈ پبلک انٹ ہیش کوڈ () {واپس آبجیکٹ.ہاش (اس نام)}
مندرجہ بالا مثال کے ساتھ ، ہم نے سب سے پہلے پھل تیار کیا ہے جو بعد میں پروگرام میں استعمال ہوگا۔
اگلا ، ہمیں org.acme.rest.json.F فروٹ سروس فائل بنانے کی ضرورت ہے جو ہماری درخواست کی صارف پرت ہوگی۔ ایسا کرنے کے لئے ، ذیل میں کوڈ استعمال کریں۔
پیکیج org.acme.rest.json درآمد com.mongodb.client.MongoClient درآمد com.mongodb.client.Mongo کولیشن درآمد com.mongodb.client.MongoCursor درآمد org.bson. دستاویز درآمد javax.enterprise.context. درخواست اطلاق jacax.inject درآمد . درآمد کریں java.util.ArrayList درآمد java.util.List @ اپلیکیشنسکوپڈ پبلک کلاس فروٹسروس {Inject منگو پلینٹ منگوموکلینٹ عوامی فہرست کی فہرست () {فہرست کی فہرست = نئی ارے لسٹ () مونگو کرسر کرسر = گیٹ کلیکشن (). تلاش کریں۔) دوبارہ کرنے والا ()۔ ) کوشش کریں {جبکہ (कर्سر.ہاس نیکسٹ ()) {دستاویز دستاویز = کرسر.نقط () پھل پھل = نیا پھل () فروٹ سیٹ سیٹ (دستاویز. گیٹ سٹرنگ ('نام')) پھل ')) list.add (پھل)}} آخر میں {कर्سر.کلوز ()} واپسی کی فہرست} عوامی باطل اضافہ (پھل پھل) {دستاویز دستاویز = نئی دستاویز (). ضمیمہ (' نام '، پھل.بیٹ نام ()) .پینڈ ('وضاحت' ، فروٹ گیٹ ڈیسکلیشن ()) گیٹ کلیکشن (). insertOne (دستاویز)} نجی مونگ کولیکشن گیٹ کلیکشن () {واپس منگو کلائنٹ.بیٹ ڈیٹا بیس ('پھل') حاصل کریں۔ لیکشن ('پھل')}} اب ہمیں اپنی ضروریات کے مطابق org.acme.rest.json.F فروٹ ریسورس کلاس میں ترمیم کرنے کی ضرورت ہے۔ ایسا کرنے کے لئے ، ذیل میں کوڈ استعمال کریں۔ @ پیٹ ('/ پھل') @ پروڈکٹ (میڈیا ٹائپ۔ اے پی پی ایل آئی سی سیشن_جسن)Consume (MediaType.APPLICATION_JSON) پبلک کلاس فروٹ ریسورس {@ انجیکشن فروٹسروس فروٹ سروس @ جی ای ٹی پبلک لسٹ لسٹ () {ریٹرن فروٹ سروسس لسٹ () P @ پوسٹ عوامی فہرست شامل کریں (پھل پھل) {فروٹسروس ڈاٹ ایڈ (پھل) واپسی کی فہرست ()}}
مرحلہ 3 کے ساتھ آگے بڑھ رہے ہیں۔
مرحلہ نمبر 3: منگو ڈیب ڈیٹا بیس کی تشکیل
منگو ڈیب ڈیٹا بیس کو تشکیل دینے کے لئے نحو کے ساتھ ساتھ معیاری کوڈ بھی ذیل میں دیا گیا ہے۔
# دو نوڈس کوارکس کی نقل تیار کرنے کے لئے منگو ڈی بی کلائنٹ کو تشکیل دیں۔ mongodb.connection-string = mongodb: // mongo1: 27017، mongo2: 27017
ہمارے معاملے میں ، ہم ڈیٹا بیس کی تشکیل کے لئے درج ذیل کوڈ کا استعمال کریں گے۔
# دو نوڈس کوارکس کی نقل تیار کرنے کے لئے منگو ڈی بی کلائنٹ کو تشکیل دیں۔ mongodb.connection-string = mongodb: // localhost: 27017
مرحلہ 4 کے ساتھ آگے بڑھ رہے ہیں۔
مرحلہ نمبر 4: تشکیل شدہ مونگو ڈی بی ڈیٹا بیس چل رہا ہے
اگلا مرحلہ منگو ڈی بی ڈیٹا بیس کو چلانے کے لئے ہے جو ہم نے ابھی بنایا ہے۔ ایسا کرنے کے لئے ، نیچے دیے گئے کوڈ کا استعمال کریں۔
ڈوکر رن --ti --rm -p 27017: 27017 منگو: 4.0
مرحلہ 5 کے ساتھ آگے بڑھ رہے ہیں۔
مرحلہ نمبر 5: سامنے والا انجام بنانا
اب جب کہ درخواست کے پچھلے حصے میں تمام کام ہوچکے ہیں ، آئیے اپنی درخواست کے سامنے والے کوڈ کو استعمال کرنے کے لئے استعمال ہونے والے کوڈ پر ایک نظر ڈالیں۔
پیکیج org.acme.rest.json درآمد io.quarkus.mongodb.ReactiveMongoClient درآمد io.quarkus.mongodb.RacacMMoMoColve درآمد org.bson. دستاویز درآمد javax.enterprise.context.AlicationScoped درآمد javax.inava.Inject درآمد درآمد java.util.concurrent.CompletionStage @ ApplicationScoped پبلک کلاس ReactiveF فروٹ Services {Inject ReactiveMongoClient mongoClient عوامی تکمیل کے سلسلے کی فہرست () {واپسی getCલેક્શન () تلاش کریں () نقشہ (دستاویز -> {پھل پھل = نیا پھل () پھل نام دستاویز (دستاویز) = نئی دستاویز () دستاویز دستاویز = نئی دستاویز () دستاویزی دستاویز = نئی دستاویز () پھل set سیٹ ڈسکریپشن (دستاویزات سٹرنگ ('وضاحت')) پھل واپس}). toList (). چلائیں ()} .append ('name'، fruit.getName ()) .append ('বর্ণনা'، fruit.getDescript ()) get get Collecration (). insertOne (دستاویز)} نجی ReactiveMongo Collections getColલેક્شن () {واپسی mongoClient.getDat database ('پھل') ). گیٹ کلیکشن ('پھل')}} پیکیج org.acme.rest.json درآمد javax.inject. درآمد javax.ws.rs. * میں mport javax.ws.rs.core. MediaiaType درآمد java.util.List درآمد java.util.concurrent.CompletionStagePath ('/ reactive_f فروٹ') @ پروڈکٹ (MediaType.APPLICATION_JSON)Consume (MediaType.APPLICATION_JSON) عوامی کلاس ریسورسtive F @ انجیکشن ری ایکٹیو فروٹسروس فروٹ سروسزGET پبلک کمپلیشنسٹیج لسٹ () {لوٹ پھلوں کی خدمت.لسٹ ()} @ پوسٹ پبلک کمپلیشنسٹیج ایڈیٹ (فروٹ فروٹ) {فروٹ سروسس ڈاٹ (پھل) ریٹرن لسٹ ()}}
مندرجہ بالا مثال میں ، ہم استعمال کر رہے ہیں سامنے والے اختتام کی تشکیل میں سہولت کے ل a ایک رد عمل مند منگو ڈی بی کلائنٹ۔
مرحلہ 6 کے ساتھ آگے بڑھ رہے ہیں۔
مرحلہ نمبر 6: BSON کوڈیک کا استعمال کرتے ہوئے منگو ڈی بی کلائنٹ کو آسان بنانا
ایسا کرنے کے لئے ، نیچے دیے گئے کوڈ کا استعمال کریں۔
پیکیج org.acme.rest.json.codec درآمد com.mongodb.MonoClient درآمد org.acme.rest.json. فروٹ درآمد org.bson. * درآمد org.bson.codecs.Codec درآمد org.bson.codecs.ClectibleCodec درآمد org .bson.codecs.DecoderContext درآمد org.bson.codecs.EncoderContext درآمد java.util.UID عوامی کلاس فروٹ کوڈک CollectibleCodec {نجی حتمی کوڈیک دستاویز کوڈک پبلک فروٹ کوڈیک () {this.docamentCodec.C getCeCClass.G getccentent. )} @ اوور رائڈ پبلک باطل انکوڈ (BsonWriter مصنف ، پھل فروٹ ، انکوڈرکونٹکسٹ انکوڈرکونٹ) {دستاویز دستاویز = نیا دستاویز () doc.put ('نام' ، پھل.بیٹ نام ()) سند.پوت ('تفصیل' ، فروٹ گیٹ بیان ()) دستاویز کوڈیک۔نکوڈ (مصنف ، دستاویز ، انکوڈرکونٹ)} @ آؤٹ سائڈ پبلک کلاس getEncoderClass () {واپسی فروٹ سیلاگ} @ اووررائڈ پبلک فروٹ جنریٹڈ IDfbbDD دستاویز (پھل دستاویز). دستاویزات (دستاویز) شامل کریں۔ UID.randomUID (). toString ())} دستاویز کی واپسی} @ عوامی بولین دستاویزات کو آگے بڑھائیں۔ فروٹ دستاویز) {دستاویز کو لوٹائیں۔ (ID!) = = null} @ Obride Public BsonValue getDocamentId (پھل دستاویز) new واپس نئی BsonString (document.getId ())} @ آؤر رائیڈ پبلک فروٹ ڈیکوڈ (BsonReader ریڈر ، ڈیکوڈر دستاویز دستاویز {دستاویز) = documentCodec.decode (قارئین ، ضابطہ سازی) پھل پھل = نیا پھل () اگر (document.getString ('id')! = null) {fruit.setId (document.getString ('id'))} فروٹ.سیٹ نام (دستاویز .getString ('name')) fruit.setDescript (document.getString ('বর্ণনা')) پھل واپس آئیں}}
اب ہم اس کو پہلے سے موجود پھلوں کی کلاس سے جوڑنے کے لئے کوڈیک پرووائڈر کا استعمال کریں گے۔
پیکیج org.acme.rest.json.codec درآمد org.acme.rest.json. پھل درآمد org.bson.codecs.Codec درآمد org.bson.codecs.configration.CodecProvider درآمد org.bson.codecs.configration.CodecRegistry عوامی کلاس فروٹ کوڈک پرووائڈر کوڈیک پرووائڈر کو نافذ کرتا ہے {@ اوور رائڈ پبلک کوڈیک حاصل کریں (کلاس کلاز ، کوڈیک ریگسٹری رجسٹری) {اگر (کلاز == فروٹ۔کلاس) {واپسی (کوڈیک) نیا پھل کوڈیک ()} واپسی کالعدم}}
مرحلہ 7 کے ساتھ آگے بڑھ رہے ہیں۔
مرحلہ نمبر 7: حتمی کوڈ
اس درخواست کا حتمی کوڈ ، کچھ اس طرح نظر آئے گا۔
پیکیج org.acme.rest.json درآمد com.mongodb.client.MongoClient درآمد com.mongodb.client.Mongo کولیکشن درآمد com.mongodb.client.MongoCursor درآمد javax.enterprise.context. اطلاق درخواست اسکائپڈ درآمد javax.inject. امپورٹ درآمد java.util .ArrayList درآمد java.util.List @ اطلاق سکاپڈ عوامی طبقاتی کوڈک فروٹ سروس {Inject مونگ کلینٹ mongoClient عوامی فہرست کی فہرست () {فہرست کی فہرست = new ArrayList () مونگسوکرسر کرسر = گیٹ کلیکشن () تلاش کریں (). دوبارہ کرنے والا () کوشش کریں {جبکہ (کرسر .اس نیکسٹ ()) {list.add (कर्سر.نیکسٹ ())}} آخر میں {کرسر کوکلوز ()} واپسی کی فہرست v عوامی باطل اضافہ (پھلوں کا پھل) Col getClection (). insertOne (پھل)} نجی مونگ کولیکشن گیٹ کلیکشن ( ) {واپسی منگو کلائنٹ.بیٹ ڈیٹا بیس ('پھل') ۔گٹ کلیکشن ('پھل' ، فروٹ سیلاگ)}
نتیجہ اخذ کرنا
اب آپ جانتے ہو کہ اپنے سسٹم میں مونگو ڈی بی کلائنٹ کو تشکیل اور استعمال کرنا ہے۔ آگے بڑھیں اور اپنے سسٹم میں ان کوڈز کو آزمائیں اور ہمیں اپنا تجربہ بتائیں۔
مضمون کا خلاصہ
سی ++ گوٹو لائن
مونگو ڈی بی کلائنٹ کے بارے میں سبھی جانیں اور آپ اپنے سسٹم میں مختلف استعمال کے ل how کس طرح تشکیل دے سکتے ہیں۔ مزید جاننے کے لئے پڑھیں
اس کے ساتھ ، ہم خدا کے آخر تک پہنچتے ہیں ' منگو ڈی بی کلائنٹ ' مضمون