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');
}
}