インターネットとモバイル インターネットの継続的な発展に伴い、Web アプリケーションの需要は増加し続けています。これらのニーズにさらに応えるために、対応するテクノロジーとフレームワークは常に更新され、開発されています。 Web アプリケーション開発者にとって、ニーズに合ったフレームワークを選択することが重要です。 BeegoはGo言語をベースとしたオープンソースのWebアプリケーションフレームワークで、自動操作やホットロードなどの機能をサポートしているため、Webアプリケーション開発に非常に適しています。
Beego フレームワークで一般的に使用されるデータベース ストレージ方法には、MySQL、PostgreSQL、Mongodb などがあります。その中でもMongodbは分散ファイルストレージをベースとしたデータベースであり、NoSQLデータベースの高い拡張性だけでなく、SQLデータベースの柔軟性も考慮されています。
以下では、Beego フレームワークでのデータ ストレージに Mongodb を使用する方法について説明します。
まず、Mongodb データベースをインストールする必要があります。 Ubuntu オペレーティング システムを例として、次のコマンドを使用して Mongodb をインストールします:
sudo apt-get update sudo apt-get install -y mongodb
インストールが完了したら、次のコマンドを使用して Mongodb サービスを開始できます:
sudo service mongodb start
次に、これを Go 言語 Mongodb ドライバー パッケージ mgo に導入する必要があります。コマンド ライン ターミナルに次のコマンドを入力してインストールします:
go get gopkg.in/mgo.v2
次に、Beego フレームワークで関連する構成を実行する必要があります。 conf/app.conf ファイルに次の設定を追加します。
# Mongodb配置 mongo_db = test_db mongo_host = localhost mongo_port = 27017
このうち、mongo_db は使用するデータベース名を表し、mongo_host は Mongodb サーバーのアドレスを表し、mongo_port は Mongodb サーバーのポートを表します。
Mongodb を使用する場合、接続オブジェクトを定義する必要があります。 Beego フレームワークでは、次のように main.go ファイルでグローバル変数を定義できます。
package main import ( "github.com/astaxie/beego" "gopkg.in/mgo.v2" ) var ( //定义mongodb session session *mgo.Session ) func main() { var err error //连接Mongodb session, err = mgo.Dial(beego.AppConfig.String("mongo_host")) if err != nil { beego.Error(err) } //默认读写安全模式 session.SetMode(mgo.Monotonic,true) //在最后关闭session defer session.Close() //启动Beego服务器 beego.Run() }
上記のコードでは、mgo.Dial 関数を通じて Mongodb データベースに接続し、セッション変数 。 session.SetMode 関数では、デフォルトの読み取りおよび書き込みセキュリティ モードを設定できますが、ここでは軽微なエラーに対するマスター/スレーブ切り替え機能を持つ mgo.Monotonic モードに設定しています。最後に、Defer ステートメントで接続を閉じます。
次に、CRUD 操作を含むデータ モデルを定義する必要があります。 models ディレクトリに Name.go ファイルを作成し、構造体とメソッドを次のように定義します。
package models import ( "github.com/astaxie/beego" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) type User struct { Id bson.ObjectId `json:"id" bson:"_id"` Name string `json:"name" bson:"name"` Age int `json:"age" bson:"age"` } //定义集合名称 const COLLECTION = "user" //定义Mongodb操作方法 func GetSession() *mgo.Session { return session.Copy() } func (this *User) Add() (err error) { //获得session会话 session := GetSession() defer session.Close() //获得数据库名称和集合名称 database := session.DB(beego.AppConfig.String("mongo_db")) collection := database.C(COLLECTION) //插入数据 err = collection.Insert(this) return } //其他方法省略...
上記のコードでは、最初に User という名前の構造体を定義します。この構造体には、ここではモデルが単純に定義されており、id、name、age 属性が単純に定義されています。次に、COLLECTION という名前の定数を定義します。これは、モデルに対応するデータベース内のコレクション名を指定するために使用されます。
最後に、構造に対する CRUD 操作のメソッドをいくつか定義します。 Add メソッドを例に挙げると、まず GetSession 関数を通じて Mongodb セッション オブジェクトを取得し、session.DB 関数を通じてデータベース オブジェクトを取得します。次に、オブジェクトの C 関数を通じて指定されたコレクション オブジェクトを取得し、オブジェクトの Insert 関数を呼び出してコレクションにデータを挿入します。必要に応じて、他の CRUD 操作を定義できます。
データ ストレージに Mongodb を使用するには、まずデータベース テーブルを設計し、次にそれを使用して、徐々にその機能と使用法に慣れる必要があります。 Beego フレームワークでは、データ ストレージに Mongodb を使用するのが非常に簡単で、データ ストレージ機能を実装するには簡単な設定とコードの記述のみが必要です。
以上がBeegoフレームワークのデータストレージにMongodbを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。