MongoDB
webman डिफ़ॉल्ट रूप से mongodb/laravel-mongodb को mongodb घटक के रूप में उपयोग करता है, यह Laravel प्रोजेक्ट से निकाला गया है और इसका उपयोग Laravel के समान है।
jenssegers/mongodb
का उपयोग करने से पहले आपको पहले php-cli
पर mongodb एक्सटेंशन स्थापित करना होगा।
ध्यान दें
वर्तमान मैनुअल webman v2 संस्करण का है, यदि आप webman v1 संस्करण का उपयोग कर रहे हैं, तो कृपया v1 संस्करण मैनुअल देखें।
यह देखने के लिए कि क्याphp-cli
पर mongodb एक्सटेंशन स्थापित है,php -m | grep mongodb
कमांड का उपयोग करें। ध्यान दें: भले ही आपphp-fpm
पर mongodb एक्सटेंशन स्थापित किए हों, इसका मतलब यह नहीं है कि आप इसेphp-cli
पर उपयोग कर सकते हैं, क्योंकिphp-cli
औरphp-fpm
अलग-अलग एप्लिकेशन हैं, जो कि विभिन्नphp.ini
कॉन्फ़िगरेशन का उपयोग कर सकते हैं। यह देखने के लिए कि आपकाphp-cli
किसphp.ini
कॉन्फ़िगरेशन फ़ाइल का उपयोग कर रहा है,php --ini
कमांड का उपयोग करें।
स्थापित करें
composer require -W webman/database mongodb/laravel-mongodb ^4.8
स्थापना के बाद आपको restart करना होगा (reload अप्रभावित है)
कॉन्फ़िगर करें
config/database.php
में mongodb
कनेक्शन जोड़ें, जैसा कि नीचे दिखाया गया है:
return [
'default' => 'mysql',
'connections' => [
...यहाँ अन्य कॉन्फ़िगरेशन छोड़ दिए गए हैं...
'mongodb' => [
'driver' => 'mongodb',
'host' => '127.0.0.1',
'port' => 27017,
'database' => 'test',
'username' => null,
'password' => null,
'options' => [
// यहाँ आप अधिक सेटिंग्स पास कर सकते हैं Mongo Driver Manager को
// देखिये https://www.php.net/manual/en/mongodb-driver-manager.construct.php "Uri Options" के अंतर्गत पूर्ण पैरामीटरों की सूची के लिए जिन्हें आप उपयोग कर सकते हैं
'appname' => 'homestead'
],
],
],
];
उदाहरण
<?php
namespace app\controller;
use support\Request;
use support\Db;
class UserController
{
public function db(Request $request)
{
Db::connection('mongodb')->table('test')->insert([1,2,3]);
return json(Db::connection('mongodb')->table('test')->get());
}
}
मॉडल उदाहरण
<?php
namespace app\model;
use DateTimeInterface;
use support\MongoModel as Model;
class Test extends Model
{
protected $connection = 'mongodb';
protected $table = 'test';
public $timestamps = true;
/**
* @param DateTimeInterface $date
* @return string
*/
protected function serializeDate(DateTimeInterface $date): string
{
return $date->format('Y-m-d H:i:s');
}
}