Codeigniter和Mongodb库 - 我需要一个模型吗?

时间:2016-04-20 15:26:40

标签: php mongodb codeigniter

我正在尝试使用mongodb作为我的codeigniter应用程序的后端。 我发现并遵循了这个例子:http://www.surfinme.com/codeigniter-mongodb/

所以我有以下结构:

+应用\               库\                         Mongo_db.php               配置\                      mongodb.php               控制器\                           api.php

这是我的api.php文件到目前为止的样子:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Api extends CI_Controller {

        public function __construct()
        {
                parent::__construct();
                //loading  the mongodb library
                $this->load->library('mongo_db');
        }

        public function index()
        {
                $data['main_content'] = "dashboard";
                $this->load->view('includes/template',$data);
        }

        public function list_available()
        {

                //connect to mongodb collection (i.e., table) named as ‘surfinme_index’
                $collection = $this->mongo_db->db->selectCollection('testcollection');
                $result=$collection->find();
                foreach($result as $data)
                { 
                  var_dump($data);
                }
         }
   }

代码似乎正在运作。它将我的数据从数据库中取出并将其转储到我的浏览器中。但这种“感觉”是错误的,因为我没有模特。 或者我应该将库视为我的模型层? 我可以在名为api_model的models文件夹中轻松创建一个文件,并从那里调用库。 但那有点矫枉过正吗?

任何意见将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

取决于您希望坚持MVC主体的严密程度。

通过为数据库操作创建模型,您可以获得几个潜在的好处。首先,它提供了一个可以被多个控制器重用的源。例如,可能有多个控制器使用selectCollection。其次,如果由于某种原因你决定更改数据库,你只需要修改模型而不是每个调用mongo_db的控制器。