Rumah >pembangunan bahagian belakang >Golang >Menggunakan Mongodb sebagai pangkalan data dalam Beego

Menggunakan Mongodb sebagai pangkalan data dalam Beego

WBOY
WBOYasal
2023-06-22 20:33:081349semak imbas

Dengan perkembangan pesat aplikasi web, semakin ramai pembangun mula menggunakan rangka kerja Beego untuk membangunkan aplikasi web. Rangka kerja Beego ialah rangka kerja web berprestasi tinggi untuk membina aplikasi web Ia ditulis dalam bahasa Go, menyokong seni bina MVC dan menyediakan banyak fungsi dan alatan yang berguna.

Dalam Beego, sangat mudah untuk menggunakan MongoDB sebagai pangkalan data. MongoDB ialah pangkalan data dokumen sumber terbuka dengan ketersediaan tinggi, berskala dan fleksibiliti. Ia menggunakan format JSON untuk menyimpan data dan menyediakan banyak ciri yang boleh diperluaskan seperti pengindeksan, bahasa pertanyaan, pengagregatan dan sokongan geolokasi, dsb.

Artikel ini akan memperkenalkan cara menggunakan MongoDB sebagai pangkalan data dalam Beego.

1. Pasang MongoDB

Mula-mula, anda perlu memasang MongoDB dan memulakan perkhidmatannya. Anda boleh memuat turun pakej pemasangan dari tapak web rasmi MongoDB dan ikut arahan untuk memasangnya. Kemudian, mulakan perkhidmatan MongoDB dengan melaksanakan arahan berikut dalam terminal:

mongod

2. Pasang perpustakaan mgo

Sebelum menggunakan MongoDB, anda juga perlu memasang perpustakaan mgo. Pustaka mgo ialah pemacu MongoDB yang ditulis dalam Go yang menyediakan semua fungsi teras yang diperlukan untuk berinteraksi dengan MongoDB.

Anda boleh menggunakan arahan berikut untuk memasang perpustakaan mgo:

go get gopkg.in/mgo.v2

3. Sediakan sambungan pangkalan data

Sebelum menggunakan MongoDB, anda perlu menyediakan sambungan pangkalan data. . Dalam Beego, anda boleh menyediakan sambungan pangkalan data dalam fail konfigurasi. Buka fail conf/app.conf dan tambah kandungan berikut:

# MongoDB configuration
mongo_db = test
mongo_url = localhost:27017

Dalam kod di atas, parameter mongo_db menentukan nama pangkalan data yang ingin anda sambungkan dan parameter mongo_url menentukan hos dan port nombor tempat MongoDB berada.

4. Sambung ke pangkalan data

Selepas menyediakan konfigurasi pangkalan data, anda perlu menyambung ke pangkalan data dalam aplikasi. Dalam Beego, anda boleh menggunakan MongoController untuk menyambung ke pangkalan data. Untuk melakukan ini, anda perlu mencipta pengawal yang dipanggil BaseMongoController seperti yang ditunjukkan di bawah:

package controllers

import (
    "github.com/astaxie/beego"
    "gopkg.in/mgo.v2"
)

type BaseMongoController struct {
    beego.Controller
    Session *mgo.Session
    Database *mgo.Database
}

func (bm *BaseMongoController) Prepare() {
    var err error
    bm.Session, err = mgo.Dial(beego.AppConfig.String("mongo_url"))
    if err != nil {
        panic(err)
    }
    bm.Database = bm.Session.DB(beego.AppConfig.String("mongo_db"))
}

func (bm *BaseMongoController) Finish() {
    bm.Session.Close()
}

Dalam kod di atas, BaseMongoController ialah pengawal yang mewarisi beego.Controller. Dalam pengawal ini, kami mencipta pembolehubah ahli Sesi dan Pangkalan Data, disambungkan ke pangkalan data dalam fungsi Prepare() dan menutup sambungan pangkalan data dalam fungsi Finish().

5 Gunakan pangkalan data

Selepas sambungan berjaya, anda boleh menggunakan MongoDB dalam aplikasi anda. Berikut ialah beberapa operasi mudah:

package controllers

import (
    "github.com/astaxie/beego"
    "gopkg.in/mgo.v2/bson"
)

type UserController struct {
    BaseMongoController
}

// 添加用户
func (c *UserController) Add() {
    user := User{Name: "Alice", Age: 25}
    c.Database.C("users").Insert(&user)
    c.Ctx.WriteString("Add user successfully")
}

// 获取用户
func (c *UserController) Get() {
    var user User
    id := bson.ObjectIdHex(c.Ctx.Input.Param(":id"))
    c.Database.C("users").FindId(id).One(&user)
    c.Data["json"] = user
    c.ServeJSON()
}

// 更新用户
func (c *UserController) Update() {
    id := bson.ObjectIdHex(c.Ctx.Input.Param(":id"))
    c.Database.C("users").UpdateId(id, bson.M{"$set": bson.M{"Name": "Bob", "Age": 30}})
    c.Ctx.WriteString("Update user successfully")
}

// 删除用户
func (c *UserController) Delete() {
    id := bson.ObjectIdHex(c.Ctx.Input.Param(":id"))
    c.Database.C("users").RemoveId(id)
    c.Ctx.WriteString("Delete user successfully")
}

6. Kesimpulan

Dalam artikel ini, kami memperkenalkan cara menggunakan MongoDB sebagai pangkalan data dalam Beego. Mula-mula, kami memasang MongoDB dan perpustakaan mgo, kemudian mengkonfigurasi sambungan pangkalan data, disambungkan ke pangkalan data dalam BaseMongoController, dan menyediakan beberapa operasi, seperti menambah, mendapatkan, mengemas kini dan memadam data. Kami berharap artikel ini membantu anda dan menjadikan penggunaan MongoDB dalam Beego lebih mudah.

Atas ialah kandungan terperinci Menggunakan Mongodb sebagai pangkalan data dalam Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn