dongshan2004
2019-02-11 09:37
浏览 309

官方mongo-go-driver使用会话

Is there any example of using sessions with official mongodb driver for golang? I am trying to use sessions to take advantage from transactions and it seems that just reading tests on github I can’t find the way to do it.

To be more specific I am struggling now with this:

session, err := pool.StartSession()                                              
   if err != nil {                                                                  
     log.Println("Could not create db session", err)                                
     return events.APIGatewayProxyResponse{                                         
       Body:       err.Error(),                                                     
       StatusCode: http.StatusInternalServerError,                                  
     }, err                                                                         
   }                                                                                
   ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)          
   defer cancel()                                                                   
   defer session.EndSession(ctx)                                                    

    var db *mongo.Database                                                           

Everything fine with code above but when I do:

db = session.Database("testrest")

It gives the error:

session.Database undefined (type mongo.Session has no field or method Database)

Which seems to work with mgo package… How do I select the database and run queries with session?

图片转代码服务由CSDN问答提供 功能建议

是否有使用gogo官方mongodb驱动程序进行会话的示例? 我正在尝试使用会话来利用事务,似乎只是在github上阅读测试我找不到解决方法。

更具体地说,我现在正在努力

  session,err:= pool.StartSession()
 if err!= nil {
 log.Println(“无法创建数据库会话”,err  )
返回事件。APIGatewayProxyResponse{
主体:err.Error(),
 StatusCode:http.StatusInternalServerError,
},err 
} 
 ctx,取消:= context.WithTimeout(context.Background()  ,5 * time.Second)
 def  er cancel()
延迟session.EndSession(ctx)
 
 var db * mongo.Database 
   
 
 

上面的代码一切正常,但是当我这样做时:

db = session.Database(“ testrest”)

它给出了错误:

session。数据库未定义(类型mongo.Session没有字段或方法 数据库) \ n

似乎可以与mgo软件包一起使用…如何选择数据库并通过会话运行查询?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题