gpt4 book ai didi

mongodb - 在 golang 中使用 revel 框架创建一个新的 mongodb 数据库

转载 作者:IT王子 更新时间:2023-10-29 02:15:52 25 4
gpt4 key购买 nike

我正在尝试使用 revel 框架和 mgo 驱动程序在 mongodb 中创建一个新数据库。这是我的代码 --> src/myapp/app/db/mgo.go

package db

import (
"fmt"
"gopkg.in/mgo.v2"
)

var Session *mgo.Session
var Users *mgo.Collection

func Init(url, dbname string) {

var err error
Session,err = mgo.Dial(url)
if err!=nil{
panic(err)
}

Session.SetMode(mgo.Monotonic, true)
Users = Session.DB(dbname).C("users")
}

这是程序运行的代码 --> src/myapp/app/controllers/app.go

package controllers

import (
"github.com/revel/revel"
"myapp/app/db"
)

type App struct {
*revel.Controller
}

func (c App) Hello() revel.Result{

db.Init("127.0.0.1", "mydb")
return c.Render()
}

问题是我无法通过这两部分单独的代码文件创建数据库,而当我将它们合并为一个(即只是 app.go)时,它运行良好。这是在 --> src/myapp/app/controllers/app.go

中运行的代码
package controllers

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

type App struct {
*revel.Controller
}

func (c App) Hello() revel.Result{

session,err:=mgo.Dial("127.0.0.1")

if err != nil {
panic(err)
}

defer session.Close()

session.SetMode(mgo.Monotonic, true)

d:=session.DB("mydb").C("anydata")
return c.Render()
}

所以我希望有人能帮助我纠正我的前两部分代码

最佳答案

您可以从 controllers/app.go 访问 db.Sessiondb.Users

package controllers

import (
"github.com/revel/revel"
"myapp/app/db"
)

type App struct {
*revel.Controller
}

func init() {
db.Init("127.0.0.1", "mydb")
}

func (c App) Hello() revel.Result{


//there use db
db.Session.Find(...)
return c.Render()
}

关于mongodb - 在 golang 中使用 revel 框架创建一个新的 mongodb 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31094800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com