मुझे यकीन नहीं है कि यह "कोडइग्निटर तरीका" है, लेकिन मैंने एक कोडइग्निटर लाइब्रेरी बनाई है जो वर्तमान डेटाबेस कनेक्शन को स्टोर करने के लिए एक अतिरिक्त संपत्ति के साथ मोंगो क्लास का विस्तार करती है।
मेरे प्रोजेक्ट से प्रासंगिक कोड फ़ाइलें यहां दी गई हैं।
config/mongo.php
$config['mongo_server'] = null;
$config['mongo_dbname'] = 'mydb';
लाइब्रेरी/Mongo.php
class CI_Mongo extends Mongo
{
var $db;
function CI_Mongo()
{
// Fetch CodeIgniter instance
$ci = get_instance();
// Load Mongo configuration file
$ci->load->config('mongo');
// Fetch Mongo server and database configuration
$server = $ci->config->item('mongo_server');
$dbname = $ci->config->item('mongo_dbname');
// Initialise Mongo
if ($server)
{
parent::__construct($server);
}
else
{
parent::__construct();
}
$this->db = $this->$dbname;
}
}
और एक नमूना नियंत्रक
नियंत्रक/पोस्ट.php
class Posts extends Controller
{
function Posts()
{
parent::Controller();
}
function index()
{
$posts = $this->mongo->db->posts->find();
foreach ($posts as $id => $post)
{
var_dump($id);
var_dump($post);
}
}
function create()
{
$post = array('title' => 'Test post');
$this->mongo->db->posts->insert($post);
var_dump($post);
}
}