Rumah > pembangunan bahagian belakang > Golang > Cara menggunakan Mongodb untuk penyimpanan data dalam rangka kerja Beego

Cara menggunakan Mongodb untuk penyimpanan data dalam rangka kerja Beego

WBOY
Lepaskan: 2023-06-03 23:10:49
asal
795 orang telah melayarinya

Dengan pembangunan berterusan Internet dan Internet mudah alih, permintaan untuk aplikasi Web terus berkembang. Untuk memenuhi keperluan ini dengan lebih baik, teknologi dan rangka kerja yang sepadan sentiasa dikemas kini dan dibangunkan. Bagi pembangun aplikasi web, adalah penting untuk memilih rangka kerja yang sesuai dengan keperluan mereka. Beego ialah rangka kerja aplikasi web sumber terbuka sepenuhnya berdasarkan bahasa Go Ia menyokong ciri seperti operasi automatik dan pemuatan panas, jadi ia sangat sesuai untuk pembangunan aplikasi web.

Dalam rangka kerja Beego, kaedah penyimpanan pangkalan data yang biasa digunakan termasuk MySQL, PostgreSQL dan Mongodb. Antaranya, Mongodb ialah pangkalan data berdasarkan storan fail teragih, yang bukan sahaja mempunyai skalabiliti tinggi pangkalan data NoSQL, tetapi juga mengambil kira fleksibiliti pangkalan data SQL.

Berikut menerangkan cara menggunakan Mongodb untuk penyimpanan data dalam rangka kerja Beego.

Pertama, kita perlu memasang pangkalan data Mongodb. Mengambil sistem pengendalian Ubuntu sebagai contoh, pasang Mongodb melalui arahan berikut:

sudo apt-get update
sudo apt-get install -y mongodb
Salin selepas log masuk

Selepas pemasangan selesai, kita boleh memulakan perkhidmatan Mongodb melalui arahan berikut:

sudo service mongodb start
Salin selepas log masuk

Seterusnya, kami perlu memperkenalkannya ke dalam pakej pemandu Mongodb bahasa Go mgo. Masukkan arahan berikut dalam terminal baris arahan untuk memasang:

go get gopkg.in/mgo.v2
Salin selepas log masuk

Kemudian, kita perlu mengkonfigurasi konfigurasi yang berkaitan dalam rangka kerja Beego. Tambahkan konfigurasi berikut pada fail conf/app.conf:

# Mongodb配置
mongo_db = test_db
mongo_host = localhost
mongo_port = 27017
Salin selepas log masuk

Antaranya, mongo_db mewakili nama pangkalan data yang akan digunakan, mongo_host mewakili alamat pelayan Mongodb dan mongo_port mewakili port pelayan Mongodb.

Apabila menggunakan Mongodb, kita perlu menentukan objek sambungan. Dalam rangka kerja Beego, pembolehubah global boleh ditakrifkan dalam fail main.go seperti berikut:

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()
}
Salin selepas log masuk

Dalam kod di atas, kami menyambung ke pangkalan data Mongodb melalui fungsi mgo.Dial dan menyimpan objek sambungan melalui pembolehubah sesi. Fungsi session.SetMode boleh menetapkan mod keselamatan baca dan tulis lalai Di sini ia ditetapkan kepada mod mgo.Monotonic, yang mempunyai fungsi pertukaran induk-hamba untuk ralat kecil. Akhir sekali, kami menutup sambungan dalam pernyataan Tangguh.

Seterusnya, kita perlu menentukan model data yang mengandungi operasi CRUD. Cipta fail Name.go dalam direktori model dan tentukan struktur dan kaedah seperti berikut:

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
}

//其他方法省略...
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menentukan struktur bernama Pengguna, yang mengandungi Medan yang perlu digunakan dalam model ditakrifkan secara ringkas di sini Id, nama dan atribut umur ditakrifkan secara ringkas. Seterusnya, kami mentakrifkan pemalar bernama COLLECTION, yang digunakan untuk menentukan nama koleksi dalam pangkalan data yang sepadan dengan model.

Akhir sekali, kami mentakrifkan beberapa kaedah untuk melaksanakan operasi CRUD pada struktur. Mengambil kaedah Tambah sebagai contoh, kami mula-mula mendapatkan objek sesi Mongodb melalui fungsi GetSession, dan mendapatkan objek pangkalan data melalui fungsi session.DB. Seterusnya, kami memperoleh objek koleksi yang ditentukan melalui fungsi C objek, dan memasukkan data ke dalam koleksi dengan memanggil fungsi Sisipkan objek. Operasi CRUD lain boleh ditakrifkan mengikut keperluan.

Menggunakan Mongodb untuk penyimpanan data memerlukan reka bentuk jadual pangkalan data dahulu dan kemudian menggunakannya untuk membiasakan diri dengan ciri dan penggunaannya secara beransur-ansur. Dalam rangka kerja Beego, sangat mudah untuk menggunakan Mongodb untuk penyimpanan data, dan hanya konfigurasi mudah dan penulisan kod diperlukan untuk melaksanakan fungsi penyimpanan data.

Atas ialah kandungan terperinci Cara menggunakan Mongodb untuk penyimpanan data dalam rangka kerja Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan