MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

लुमेन और मोंगोडीबी?

हम वास्तव में एक विशाल परियोजना में Lumen, Laravel, Mongo, और MySQL का उपयोग कर रहे हैं ताकि मैं इसमें आपकी सहायता कर सकूं। मान लें कि आप MongoDB का उपयोग कच्चे MongoClient के बजाय वाक्पटु के साथ करना चाहते हैं। आप जिस लाइब्रेरी का उपयोग कर रहे हैं, उसे आप jenssegers यहां से देख सकते हैं। ।

MongoDB एक्सटेंशन इंस्टॉल करें

सबसे पहले आपको मोंगो के साथ बातचीत करने के लिए PHP के लिए निर्भरता स्थापित करने की आवश्यकता होगी। मोंगो एक्सटेंशन को स्थापित करने के लिए विवरण PHP दस्तावेज़ पर पाया जा सकता है। ।

उसके बाद आपको एक्सटेंशन लोड करने के लिए प्लेटफॉर्म (apache/cli/nginx) के लिए php.ini फाइलों को संपादित करना होगा। मैंने निम्नलिखित को मॉड्यूल सेटिंग . से पहले जोड़ा है

extension=mongo.so

यह बिना कहे चला जाता है कि आपको कॉन्फ़िगरेशन बदलने के बाद apache/nginx को पुनरारंभ करने की आवश्यकता है।

लुमेन को कॉन्फ़िगर करना

अपने रूट लुमेन फ़ोल्डर में आप इसे निम्न आदेश के साथ अपनी आवश्यकताओं में जोड़ सकते हैं।

composer require jenssegers/mongodb

वहां से आपको पहले . MongodbServiceProvider को भी लोड करना होगा Facades या Eloquent को इनिशियलाइज़ किया गया है।

$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);

$app->withFacades();

$app->withEloquent();

कॉन्फ़िगरेशन को व्यवस्थित करने की सरलता के लिए मैंने एक कॉन्फ़िग फ़ोल्डर और एक डेटाबेस.php कॉन्फ़िग फ़ाइल भी बनाई। चूंकि लुमेन इस निर्देशिका को स्वत:लोड करने या खोजने की कोशिश नहीं करता है, इसलिए हमें इसे इस कॉन्फ़िगरेशन को लोड करने के लिए कहना होगा। मैं आवेदन मार्गों को लोड करने से ठीक पहले निम्नलिखित पंक्ति डालता हूं।

$app->configure('database');

Database.php में mongodb ड्राइवर को एक विशिष्ट संरचना की आवश्यकता होती है। मैंने यहां mysql को शामिल किया है क्योंकि मैं दोनों का उपयोग करता हूं, लेकिन यदि आप विशेष रूप से mongo का उपयोग कर रहे हैं तो आप डिफ़ॉल्ट को mongodb में बदल सकते हैं और mysql config को हटा सकते हैं।

return  [
    'default' => 'mysql',

    'connections' => [
        'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', ''),
            'username'  => env('DB_USERNAME', ''),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

        'mongodb' => array(
            'driver'   => 'mongodb',
            'host'     => env('MONGODB_HOST', 'localhost'),
            'port'     => env('MONGODB_PORT', 27017),
            'username' => env('MONGODB_USERNAME', ''),
            'password' => env('MONGODB_PASSWORD', ''),
            'database' => env('MONGODB_DATABASE', ''),
            'options' => array(
                'db' => env('MONGODB_AUTHDATABASE', '') //Sets the auth DB
            )
        ),

    ],
];

कॉन्फ़िगरेशन के साथ अब आप एक मॉडल बना सकते हैं, इसे लिखने के लिए मोंगो के लिए एक मॉडल बनाने के लिए (जीथब पेज की जांच करें) आप आधार के रूप में निम्नलिखित का उपयोग कर सकते हैं। यदि mongo आपका डिफ़ॉल्ट ड्राइवर है तो आप $connection चर को अनदेखा कर सकते हैं।

<?php

namespace App;

use Jenssegers\Mongodb\Model as Eloquent;

class Example extends Eloquent 
{
    protected $connection = 'mongodb';
    protected $collection = 'example';
    protected $primaryKey = '_id';
}

वहां आप जाते हैं, आपको सामान्य रूप से मोंगो के साथ बातचीत करने में सक्षम होना चाहिए, ड्राइवर की बारीकियों के लिए उस पर दस्तावेज़ीकरण के लिए जीथब पेज देखें।

अगर इस उत्तर ने आपकी मदद की तो क्या आप इसे उत्तर के रूप में चिह्नित कर सकते हैं?



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्लाइंट नियंत्रक (MEAN.JS) से मोंगो क्वेरी पैरामीटर निर्दिष्ट करना

  2. Mongo id डरावने URL की ओर ले जाती है

  3. मैं मोंगोडीबी में संग्रह का नाम कैसे बदल सकता हूं?

  4. MongoDB नेवला पदावनति चेतावनी

  5. दस्तावेज़ सत्यापन के पीछे तर्क को तोड़ने वाले दो समवर्ती एपीआई अनुरोधों से कैसे बचें?