1
我想在mongodb中使用revel框架和mgo驅動創建一個新的數據庫。這裏是我的代碼 - > SRC/MyApp的/應用/數據庫/ mgo.go在golang中使用revel框架創建一個新的mongodb數據庫
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.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.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()
}
所以我想有人幫助我糾正的代碼我的前兩個部分