我使用转到我的项目和MongoDB和 氧化镁是连接来连接MongoDB。
MongoDB
我正在将以下文件插入到MongoDB中
{ "_id" : ObjectId("53439d6b89e4d7ca240668e5"), "balanceamount" : 3, "type" : "reg", "authentication" : { "authmode" : "10", "authval" : "sd", "recovery" : { "mobile" : "sdfsd", "email" : "sds@gmail.com" } }, "stamps" : { "in" : "x", "up" : "y" } }
我已经如上所述创建了BSON文档。
我有两个包
account.go
dbEngine.go
account.go 用于创建BSON文档并将BSON文档发送到dbEngine.go
dbEngine.go 用于建立与MongoDB的连接并插入文档。将BSON文档传递到dbEngine.go时
dbEngine.Insert(bsonDocument);
在dbEngine.go中,我有方法
func Insert(document interface{}){ //stuff }
错误: 紧急:无法将接口{}编组为BSON文档。
interface {}是否不用于BSON文档。
我是新来的Go。任何建议或帮助将不胜感激
Go
您不需要自己生成BSON文档。 假设在account.go中您将拥有一个帐户结构:
type Account struct { Id bson.ObjectId `bson:"_id"` // import "labix.org/v2/mgo/bson" BalanceAmount int // Other field }
然后在dbEngine.go中插入函数:
func Insert(document interface{}){ session, err := mgo.Dial("localhost") // check error c := session.DB("db_name").C("collection_name") err := c.Insert(document) }
然后,在您的应用中的某些位置:
acc := Account{} acc.Id = bson.NewObjectId() acc.BalanceAmount = 3 dbEngine.Insert(&acc);