5

codeigniterに組み込まれ、 cloudcontrolでホストされているWebアプリケーションがあります。すべてのデータの永続性に通常のMySQLデータベースを使用していますが、MySQLデータベースに加えてmongodbデータベースを使用したいと考えています。

ワーカーとアプリケーションサーバー間のメッセージを永続化するためのジョブキューとしてmongodbを使用したいと思います。このチュートリアルからこれを行うためのインスピレーションを得ました:http://www.captaincodeman.com/2011/05/28/simple-service-bus-message-queue-mongodb/

  1. これは可能ですか(2つの異なるタイプのデータベースを同時に使用します-codeigniterをハッキングする場合としない場合、私はそうだと思います)

  2. これを達成するためのヒントはありますか?

- - 編集 - -

このライブラリをCIプロジェクトに含めました: https ://github.com/alexbilbie/codeigniter-mongodb-library

そして、私がそれをロードしようとすると:$this->load->library('mongo_db'); 私はこれに遭遇します: ここに画像の説明を入力してください

mysqlとmongodbを一緒に動作させる方法がわかりません...

- - 編集 - -

上記の質問を気にしないでください、私は設定ファイルを不適切に設定し、エラーを混乱させました...

4

1 に答える 1

6

はい、これは箱から出して可能です。

構成で2つのグループを定義する必要があります。1つはmysql用、もう1つはmongodb用です。アプリケーションでは、これらのデータベースをグループ名でロードできます。

あなたのconfugration.phpで:

$db['mysql']['hostname'] = "localhost";
$db['mysql']['username'] = "root";
$db['mysql']['password'] = "";
$db['mysql']['dbdriver'] = "mysql";
//... (full config omitted for brevity)

$db['mongodb']['hostname'] = "localhost";
$db['mongodb']['username'] = "root";
$db['mongodb']['password'] = "";
$db['mongodb']['dbdriver'] = "mongodb";
//... (full config omitted for brevity)

次に、次のようにデータベースをロードします。

$mysqlDB = $this->load->database('mysql', TRUE);
$mongoDB = $this->load->database('mongodb', TRUE); 

複数のデータベースに接続する方法と構成グループを指定する方法については、ユーザーガイドを参照してください。

于 2011-09-23T08:27:09.040 に答える