где вставлять функции в codeigniter mongodb

Я подключил свое php-приложение к mongodb с помощью драйвера codeigniter.

теперь я использую класс mongoo_db для вставки коллекции в базу данных по умолчанию db_name.

исходный код моих файлов,

ghy.php

<?php /** * @author * @copyright 2014 */ class ghy { public $id; public $name; public function insert($collection = "", $data = array()) { if(empty($collection)) show_error("No Mongo collection selected to insert into", 500); if(count($data) == 0 || !is_array($data)) show_error("Nothing to insert into Mongo collection or insert is not an array", 500); try { $this->db->{$collection}->insert($insert, array('safe' => TRUE)); if(isset($insert['_id'])) return($insert['_id']); else return(FALSE); } catch(MongoCursorException $e) { show_error("Insert of data into MongoDB failed: {$e->getMessage()}", 500); } $use=$this->mongo_db->insert('foo', $data = array('4','hgfh')); var_dump(); } } ?> 

проблема в том, что я не получаю никакого вывода в моем браузере.

может ли кто-нибудь рассказать мне, где я иду не так? ответы на самом раннем этапе будут высоко оценены.

Спасибо

Я не уверен, почему ваш класс не работает, но чтобы понять, как работают MongoDB и Codeigniter, взгляните на этот ответ .

Из ответа на ваш вопрос о том, как установить соединение с MongoDB:

конфиг / 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; } } 

И образец контроллера

Контроллеры / 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); } } 

Из вопроса, как указано выше, ответьте:

MongoDB очень хорошо поддерживается в сообществе CodeIgniter, уделите время и погрузитесь в: p

  • Библиотека активного документа CodeIgniter MongoDB
  • Библиотека SessionIgniter MongoDB
  • Библиотека аутентификации CodeIgniter MongoDB
  • Библиотека сервера REST CodeIgniter MongoDB
  • Базовая модель CodeIgniter MongoDB

Надеюсь, это поможет вам работать над проектом Codeigniter (MongoDB)