草庐IT

对数据库

全部标签

mongodb - Mongo 授权数据库失败

我在本地主机中有一个启用了安全性的mongo实例。和用户如下,db.createUser({user:"mongouser",pwd:"pass",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"},{role:"dbAdminAnyDatabase",db:"admin"},{role:"clusterAdmin",db:"admin"}]});我正在尝试使用mgo连接到名为testDatabase的数据库,如下所示mongoConnectionUrl="mo

http - 有没有办法序列化golang http请求对象并持久化在数据库中

我需要在golang代码中进行http调用。我的服务器代码将创建http请求对象并将其放入数据库。工作代码将从数据库中获取数据,并且应该能够使用持久化的请求对象进行http调用。是否可以通过序列化http请求直接将请求对象持久化到DB中,还是需要在数据库中单独添加method/URL/body? 最佳答案 没有很好的方法来序列化http.Request结构本身(请参阅下面的注释),但您可以将请求序列化回HTTP/1.1有线格式(也可以反序列化)。这可以使用Request.Write来完成和http.ReadRequest:funcc

go - 如何使 func main() 中设置的数据库实例对其他包可用?

我正在编写我的第一个goweb应用程序,我有以下结构:.├──main.go├──model│├──model.go│└──book.go├──route│└──route.go└──view└──view.go/main.go是我的ma​​in()所在的位置。在该文件中,我还定义了一个变量Env,我将在其中保存我的数据库实例(至少这是计划)。在/main.go我做import"project/view"typeEnvstruct{dbmodels.Collection}//restofthecodefuncmain(){db,err:=models.NewDB()//etcMyEnv

unit-testing - 无法在 golang : "unable to open database file [recovered]"-error 中打开 SQLite 数据库

我刚开始学习golang,不确定我的错误是概念上的还是语言上的。这很奇怪,因为只有在对我的代码进行单元测试时才会出现错误。如果我“去运行”一切正常。作为sqlite驱动程序,我使用mattn/go-sqlite3.这里是问题发生的地方:funcdbExec(command*string){db,err:=sql.Open("sqlite3",dbPath)//Pathanddriveraresetcorrecrtlydeferdb.Close()iferr!=nil{//Noproblemherepanic(err)}_,err=db.Exec(*command)iferr!=nil{

go - 将数据库凭据传递给测试?

我尝试了几种方法(如下所示),但我都不喜欢其中任何一种。所以我决定询问社区是否有更好的方法。方法一将数据库凭据作为参数传递:gotest-args-db_user=test-db_pass=secret然后在测试中使用它:packagemy_testvardbUser=flag.String("db_user","","testdatabaseuser")vardbPass=flag.String("db_pass","","testdatabasepassword")funcTestSomething(t*testing.T){db:=open(*dbUser,*dbPass)}方法

go - 处理应用程序中的 NULL 值并发送到数据库

我尝试在我的应用程序中使用可为null的变量,并将其发送到包含默认为null的列的数据库。这是一个示例结构://LocationtypetypeLocationstruct{IDint`schema:"id"`Title*string`schema:"title"`}标题定义为*string,因为它可能为null(例如,没有用户输入或客户端应用程序将其作为null发送)。这是我接收表单数据的函数://JSONLocationCreatefuncfunc(a*App)JSONLocationCreate(whttp.ResponseWriter,r*http.Request){r.Par

go - 使用 Scan 将数据库值强制转换为特定类型

我正在尝试使用github.com/jackc/pgx将从Postgres检索到的UUID读取到uuid.UUID类型的变量中(来自github.com/google/uuid包)。示例代码可以是:vardbId=uuid.UUIDerr=db.Pool.QueryRow("SELECTidFROMusersWHEREobjectname=$1;",objectUUID.String()).Scan(&dbId)iferr!=nil{log.Printf("Failedtofetchfromdatabase:%v",err)return}快速修复是将dbId存储在一个临时变量中,然后将

html - 使用 Golang 将已解析的 html 字符串从数据库显示到模板

给定我的模型typeCriteriastruct{...CriteriaIDstring`db:"criteria_id"`CriteriaNamestring`db:"criteria_name"`...和ControllerfuncCriteriaReadGET(whttp.ResponseWriter,r*http.Request){.....//Displaytheviewv:=view.New(r)v.Name="criteria/read"v.Vars["criteria"]=resultv.Render(w)}结果中的一列(来self的模型的查询结果)包含html标签,这

mysql - 在子程序中处理数据库打开和关闭

我正在实现一个代码,我需要在固定的时间间隔内执行一些操作。其中很少与从mysql数据库中获取数据有关。为了以固定的时间间隔安排这些操作,我使用了gocron。它运行良好。对于数据库,截至目前,我在主程序开始时创建一个实例并将其传递给子例程。我正在使用https://github.com/jmoiron/sqlx与DB一起工作。代码流程是:i-初始化资源。例如db=sql.Open;将DB放在公共(public)结构中以传递给所有子例程ii-使用gocron的scheduleActions(根据需要传递资源)iii-Action是使用给定资源(例如数据库)根据需要执行任务的特定子例程我很

go - 域和数据库之间的映射

我正在创建从数据库获取数据并将它们作为JSON传递到前端的应用程序。我认为为从数据库中获取的数据和传递给REST服务的数据创建单独的结构是个好主意。我是对的还是我的错?在这种情况下,我需要将结构从一层映射到另一层。我现在在数据库层做:func(ds*DataStore)AddUnit(_unitmodels.Unit){unit:=Unit{}unit.Name=_unit.Nameunit.Description=_unit.Descriptiondb.Create(&unit)}func(ds*DataStore)UpdateUnit(idint,_unitmodels.Unit)