복붙노트

[MONGODB] MongoDB를 이그나이터 [폐쇄]

MONGODB

MongoDB를 이그나이터 [폐쇄]

사람이 CodeIgniter의에서 MongoDB를 함께 작동하도록 나를 수 있도록 튜토리얼, 도서관 등 저를 가리키는 데 도움이 수 있습니까?

해결법

  1. ==============================

    1.그것 "CodeIgniter의 방법"하지만 현재 데이터베이스 연결을 저장하는 별도의 특성과 몽고 클래스를 확장하는 CodeIgniter의 라이브러리를 생성 있는지 확실하지 않습니다.

    그것 "CodeIgniter의 방법"하지만 현재 데이터베이스 연결을 저장하는 별도의 특성과 몽고 클래스를 확장하는 CodeIgniter의 라이브러리를 생성 있는지 확실하지 않습니다.

    여기 내 프로젝트에서 관련 코드 파일입니다.

    설정 / 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);
        }
    }
    
  2. ==============================

    2.MongoDB를 아주 잘 시간과 다이빙을, CodeIgniter의 지역 사회 내에서 지원됩니다 : P는

    MongoDB를 아주 잘 시간과 다이빙을, CodeIgniter의 지역 사회 내에서 지원됩니다 : P는

  3. ==============================

    3.스티븐 카란의 예와 같이 I는 간단하고 빌 내에서 작성된 너무 많은 기능이없는 몽고에 대한 인터페이스를 허용하는, 난 후 나는 무엇을 시간에 많은 거대한 추상화 clases 조금을 찾는 경향이있다.

    스티븐 카란의 예와 같이 I는 간단하고 빌 내에서 작성된 너무 많은 기능이없는 몽고에 대한 인터페이스를 허용하는, 난 후 나는 무엇을 시간에 많은 거대한 추상화 clases 조금을 찾는 경향이있다.

    나는 데이터베이스 인증을 포함하는 자신의 예를 드리고 있습니다. 여기로 이동 : http://www.mongodb.org/display/DOCS/Security+and+Authentication를 연결중인 몽고 서버에 대한 인증을 사용하는 것을 잊지 마세요, 몽고 인증에 대해 읽을 수 있습니다.

    또한 __construct로 이전 스타일의 생성자 함수를 변경하고 사용자 이름과 비밀번호를 밝힐 수있는 몽고 연결 예외를 처리하고있다.

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    $config['mongo_server'] = 'localhost';
    $config['mongo_dbname'] = 'my_mongo_db';
    $config['mongo_username'] = 'mongo_user';
    $config['mongo_password'] = 'password1234';
    
    /* End of file mongo.php */
    
    <?php
    
    class CI_Mongo extends Mongo{
    
        protected $db;
    
        function __construct()
        {   
            // 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');
            $username = $ci->config->item('mongo_username');
            $password = $ci->config->item('mongo_password');
            $dbname = $ci->config->item('mongo_dbname');
    
            // Initialise Mongo - Authentication required
            try{
                parent::__construct("mongodb://$username:$password@$server/$dbname");
                $this->db = $this->$dbname;
            }catch(MongoConnectionException $e){
                //Don't show Mongo Exceptions as they can contain authentication info
                $_error =& load_class('Exceptions', 'core');
                exit($_error->show_error('MongoDB Connection Error', 'A MongoDB error occured while trying to connect to the database!', 'error_db'));           
            }catch(Exception $e){
                $_error =& load_class('Exceptions', 'core');
                exit($_error->show_error('MongoDB Error',$e->getMessage(), 'error_db'));           
            }
        }
    }
    
  4. ==============================

    4.CodeIgniter의에서 MongoDB를 작업하는 것은 다른 곳에서도 함께 작업보다 훨씬 다르지 않을 것입니다.

    CodeIgniter의에서 MongoDB를 작업하는 것은 다른 곳에서도 함께 작업보다 훨씬 다르지 않을 것입니다.

    당신은 생성자에 연결 $ this-> CONN가 나중에 방법에 사용되는 저장하는 것 MongoDB의 라이브러리를 함께 노크 수 있습니다.

    다음 중 당신의 컨트롤러에서 CONN 속성에서 작업하거나 당신을 위해이 작업을 수행하는 사용자의 MongoDB의 라이브러리에있는 몇 가지 방법을 만들 수 있습니다.

    MongoDB의 작업을위한 일반 PHP 자습서를 보려면 여기를보세요.

    나는 행복하게 당신에게 이것에 대한 라이브러리를 만들 싶지만 그것은 가격으로 올 것입니다. :-피

  5. ==============================

    5.나는 / CI 승 MongoDB를를 사용하고 다음 해낸거야. 그것은 나를 위해 작동하지만, 나는 그것이 어느 정도 불통 될 수있다 확신합니다. 나중에 그것을 조정에 대해 걱정할 것이다하지만 지금은 내가 원하는 않습니다.

    나는 / CI 승 MongoDB를를 사용하고 다음 해낸거야. 그것은 나를 위해 작동하지만, 나는 그것이 어느 정도 불통 될 수있다 확신합니다. 나중에 그것을 조정에 대해 걱정할 것이다하지만 지금은 내가 원하는 않습니다.

    나는 "database_conn.php"라는 모델을 생성

    class Database_Conn extends Model {
    
        function _connect() {
            $m = new Mongo();
    
            $db = $m->selectDB( "YOUR DATABASE NAME" );
            return $db;
        }
    }
    

    그럼, 내 모델에서 컬렉션에 연결해야합니다.

    $collection = Database_Conn::_connect()->selectCollection( "COLLECTION NAME" );
    
  6. from https://stackoverflow.com/questions/2248789/mongodb-and-codeigniter by cc-by-sa and MIT license