MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB i CodeIgniter

Nie jestem pewien, czy jest to "sposób CodeIgniter", ale stworzyłem bibliotekę CodeIgniter, która rozszerza klasę Mongo o dodatkową właściwość do przechowywania bieżącego połączenia z bazą danych.

Oto odpowiednie pliki kodu z mojego projektu.

config/mongo.php

$config['mongo_server'] = null;
$config['mongo_dbname'] = 'mydb';

biblioteki/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;
    }
}

I przykładowy kontroler

kontrolery/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);
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Przekroczono limit czasu po wybraniu serwera przez 30000 ms za pomocą CompositeServerSelector

  2. Jak włączyć logowanie dla Mongoose i sterownika MongoDB Node.JS?

  3. Agregacja MongoDB w pętli zwrotnej

  4. mongo 3 duplikaty na unikalnym indeksie - dropDups

  5. Jak znaleźć długość tablicy mongodb