我正在尝试运行main.go文件Here,并且显示错误cannotfindpackage"labix.org/v2/mgo"inanyof:C:\Go\src\labix.org\v2\mgo(from$GOROOT)D:\MyFolder\go-in-5-minutes\episode5\src\labix.org\v2\mgo(from$GOPATH)cannotfindpackage"labix.org/v2/mgo/bson"inanyof:C:\Go\src\labix.org\v2\mgo\bson(from$GOROOT)D:\MyFolder\go-in-5-minut
使用go模块,我想用github.com/globalsign/mgo替换labix.org/v2/mgo。http://labix.org/mgo存储库未维护,已fork到https://github.com/globalsign/mgo我的代码存储在$GOPATH之外的目录~/git/foo我正在使用go1.11其他go模块正在工作(例如golist-mall列出其他模块,文件go.mod和go.sum正在自动更新。请参阅下面的完整文件)我在go.mod文件中尝试了以下内容:replacelabix.org/v2/mgo=>github.com/globalsign/mgov0.0
我在我的Go应用程序中使用labixmgo作为mongodb驱动程序,我想知道是否有一种方法可以覆盖特定查询的默认writeConcern。关于配置的几句话:副本集有三个节点-一个主节点和两个辅助节点,writeConcern和readPreference是默认的。驱动程序使用monotonic一致性,这意味着所有读取都是从辅助设备完成的(当它可用时,否则-从主设备)。可能会有这样的情况,当我需要在写入数据库后立即读取更新的数据-因为上面的mongo可能会返回旧数据://updatesomedata_:=collection.Update(bson.M{"_id":"some_id"}
我有一个网络进程,类似于funcmain(){//mgomongoDatabase,err:=mgopath.Connect(envMongoPath)iferr!=nil{log.Fatal(err)}r:=mux.NewRouter()//....r.HandleFunc("/apps/{app:.+}",stuffHandler(mongoDatabase)).Methods("GET")http.Handle("/",r)listen:=fmt.Sprintf("%s:%s",host,port)log.Fatal(http.ListenAndServe(listen,nil)