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

我正在尝试使用 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()

}

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


慕桂英3389331
浏览 220回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go