php - MongoDB 和 CodeIgniter

谁能帮助我找到一个教程、库等,让我可以从 CodeIgniter 使用 MongoDB?

最佳答案

我不确定它是否是“CodeIgniter 方式”,但我创建了一个 CodeIgniter 库,它使用额外的属性扩展了 Mongo 类来存储当前的数据库连接。

这是我项目中的相关代码文件。

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

还有一个示例 Controller

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

https://stackoverflow.com/questions/2248789/

相关文章:

node.js - 来自 AWS Lambda 的 MongoDB 连接

javascript - 如何获取在另一个模型中定义的 Mongoose 数据库的架构

security - MongoDB:使用文档 ID "in public"是否安全?

mongodb - 如何在 docker 容器中启动 mongodb shell?

date - 在MongoDB中按日期分组

mongodb - 将对象插入 Mongoose 中的数组模式

mongodb - NoSQL 最佳实践

mongodb - MongoDB 的 'lost data' 批评在多大程度上仍然有效?

javascript - 是否可以在 javascript 执行中写入 mongodb 控制台?

javascript - 在 javascript 中创建一个 ISO 日期对象