Heim > Backend-Entwicklung > Golang > Verwendung von Mongodb als Datenbank in Beego

Verwendung von Mongodb als Datenbank in Beego

WBOY
Freigeben: 2023-06-22 20:33:08
Original
1365 Leute haben es durchsucht

Mit der rasanten Entwicklung von Webanwendungen beginnen immer mehr Entwickler, das Beego-Framework zur Entwicklung von Webanwendungen zu verwenden. Das Beego-Framework ist ein leistungsstarkes Web-Framework zum Erstellen von Webanwendungen. Es ist in der Go-Sprache geschrieben, unterstützt die MVC-Architektur und bietet viele nützliche Funktionen und Tools.

In Beego ist es sehr praktisch, MongoDB als Datenbank zu verwenden. MongoDB ist eine Open-Source-Dokumentendatenbank mit hoher Verfügbarkeit, Skalierbarkeit und Flexibilität. Es verwendet das JSON-Format zum Speichern von Daten und bietet viele erweiterbare Funktionen wie Indizierung, Abfragesprache, Aggregation und Geolokalisierungsunterstützung usw.

In diesem Artikel erfahren Sie, wie Sie MongoDB als Datenbank in Beego verwenden.

1. Installieren Sie MongoDB

Zuerst müssen Sie MongoDB installieren und seinen Dienst starten. Sie können das Installationspaket von der offiziellen MongoDB-Website herunterladen und den Anweisungen zur Installation folgen. Starten Sie dann den MongoDB-Dienst, indem Sie den folgenden Befehl im Terminal ausführen:

mongod
Nach dem Login kopieren

2. Installieren Sie die MGO-Bibliothek

Bevor Sie MongoDB verwenden, müssen Sie auch die MGO-Bibliothek installieren. Die MGO-Bibliothek ist ein in Go geschriebener MongoDB-Treiber, der alle Kernfunktionen bereitstellt, die für die Interaktion mit MongoDB erforderlich sind.

Sie können den folgenden Befehl verwenden, um die MGO-Bibliothek zu installieren:

go get gopkg.in/mgo.v2
Nach dem Login kopieren

3 Richten Sie die Datenbankverbindung ein

Bevor Sie MongoDB verwenden, müssen Sie die Datenbankverbindung einrichten. In Beego können Sie die Datenbankverbindung in der Konfigurationsdatei einrichten. Öffnen Sie die Datei conf/app.conf und fügen Sie den folgenden Inhalt hinzu:

# MongoDB configuration
mongo_db = test
mongo_url = localhost:27017
Nach dem Login kopieren

Im obigen Code gibt der Parameter mongo_db den Namen der Datenbank an, zu der Sie eine Verbindung herstellen möchten, und der Parameter mongo_url gibt den Host und die Portnummer an, auf der sich MongoDB befindet gelegen.

4. Stellen Sie eine Verbindung zur Datenbank her.

Nachdem Sie die Datenbankkonfiguration eingerichtet haben, müssen Sie eine Verbindung zur Datenbank in der Anwendung herstellen. In Beego können Sie MongoController verwenden, um eine Verbindung zur Datenbank herzustellen. Dazu müssen Sie einen Controller namens BaseMongoController erstellen, wie unten gezeigt:

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()
}
Nach dem Login kopieren

Im obigen Code ist BaseMongoController ein Controller, der beego.Controller erbt. In diesem Controller haben wir eine Sitzung und Datenbank-Mitgliedsvariablen erstellt, in der Funktion Prepare() eine Verbindung zur Datenbank hergestellt und die Datenbankverbindung in der Funktion Finish() geschlossen.

5. Verwenden Sie die Datenbank

Nach erfolgreicher Verbindung können Sie MongoDB in der Anwendung verwenden. Im Folgenden sind einige einfache Vorgänge aufgeführt:

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")
}
Nach dem Login kopieren

6. Fazit

In diesem Artikel haben wir vorgestellt, wie man MongoDB als Datenbank in Beego verwendet. Zuerst haben wir MongoDB und die MGO-Bibliothek installiert, dann die Datenbankverbindung konfiguriert, eine Verbindung zur Datenbank in BaseMongoController hergestellt und einige Vorgänge bereitgestellt, z. B. das Hinzufügen, Abrufen, Aktualisieren und Löschen von Daten. Wir hoffen, dass dieser Artikel Ihnen hilft und die Verwendung von MongoDB in Beego komfortabler macht.

Das obige ist der detaillierte Inhalt vonVerwendung von Mongodb als Datenbank in Beego. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage