繁体   English   中英

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

[英]Codeigniter and Mongodb library - do I need a model?

我正在尝试将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);
                }
         }
   }

而且代码似乎可以正常工作。 它从数据库中获取我的数据,并将其转储到我的浏览器中。 但这“感觉”是错误的,因为我没有模型。 还是应该将库作为模型层查看? 我可以轻松地在models文件夹中创建一个名为api_model的文件,然后从那里进行对库的调用。 但这是过度杀伤力吗?

任何意见,将不胜感激。

谢谢。

取决于您要严格遵守MVC原则。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM