Jeg er ikke sikker på, hvorfor din klasse ikke fungerer, men for at få en forståelse af, hvordan MongoDB og Codeigniter fungerer sammen, tag et kig på denne svar .
Fra svaret for at besvare dit spørgsmål om, hvordan man etablerer en forbindelse til MongoDB:
config/mongo.php
$config['mongo_server'] = null;
$config['mongo_dbname'] = 'mydb';
biblioteker/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;
}
}
Og en prøvecontroller
controllere/posts.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);
}
}
Fra spørgsmålet som ovenfor svar:
Jeg håber, at dette hjælper dig med at få dit Codeigniter(MongoDB)-projekt til at fungere