草庐IT

database_query

全部标签

database - gobuffalo 是否能够自动生成我的表格?

我有这样的结构:typeUserstruct{IDintCreatedAtintUpdatedAtintDeviceUniqueIdentifierstringSessions[]Session`has_many:"sessions"`}我不知道如何在fizz中导出它,所以我这样做了:buffalopopgeneratemodelUser令我惊讶的是,它实际上生成了一个User并在数据库中放入了一张表,但是无论是表还是结构都不是预期的。这是新的用户结构:...typeUserstruct{IDuuid.UUID`json:"id"db:"id"`CreatedAttime.Time`j

heroku - 是否可以将 golang db.Query() 输出转储到字符串?

我有一个小型Heroku应用程序,在执行查询后,我在其中打印出每一行的姓名和年龄。我想避免循环rows.Next(),Scan()..并且只想显示查询执行后返回的数据库可能是一些数据或错误。我们可以直接将数据转储为字符串进行打印吗?rows,err:=db.Query("SELECTnameFROMusersWHEREage=$1",age)iferr!=nil{log.Fatal(err)}forrows.Next(){varnamestringiferr:=rows.Scan(&name);err!=nil{log.Fatal(err)}fmt.Printf("%sis%d\n",

mongodb - 在我可以使用 query.Count() 验证之前,Mongo 编写了 query.UpsertId 多个文档

描述:我在我的项目中使用mongoDB。当用户试图出售他的元素时,这是处理程序的简短逻辑。在向mongo提供报价之前,我验证了报价,因此不会有保存assetId的有效报价使用:mgo.v2蒙戈3.6golang1.10问题:如果用户点击速度非常快,会向我的处理程序发送多个请求(假设他快速双击鼠标),则验证不起作用,因为似乎第一个报价不在集合,因此我得到2-3个具有相同assetId的报价。我试过了设置mongoUrl?replicaSet=rs0,这样我们的主从现在就可以相互联系了验证后设置time.Sleep(200*time.Millisecond)问题:有什么办法可以用mongo

mysql - 在读取 sql.Rows.Next() 执行另一个查询时返回错误 : 1046 no database selected

(错误检查和一些细节省略)设置我是这样打开数据库的:d,err=sql.Open("mysql","user:passwd@tcp(127.0.0.1:3306)/")_,err=d.Exec("CREATEDATABASEIFNOTEXISTSmyblog")_,err=d.Exec("USEmyblog")但是如果我把它改成这样,一切都很好:d,err=sql.Open("mysql","user:passwd@tcp(127.0.0.1:3306)/myblog")执行我有两个表:articlesID,ArticleID,Title,CreateDate,PreviewConte

google-app-engine - google app engine datastore Go Query with "in"operator

在AppEngine数据存储区中使用查询,我如何指定获取与具有变量值的属性匹配的键?varPersonstruct{namestringdepartmentstring}//Queryq:=datastore.NewQuery("Person").Filter("department=","department1").KeysOnly()在上面的查询中,我希望“IN”运算符指定多个部门值,而不是"="运算符,即获取属于部门1、部门2、部门3等的所有人员键。1个查询是否可行?或者我需要为每个部门进行1次查询? 最佳答案 其他运行时允许

database - Golang gorm mock

我正在使用gorm在我的项目中。我可以在没有数据库连接的情况下模拟这个数据库orm进行测试吗?问题是我们有CI工具,但我没有数据库或没有足够数据进行测试的数据库。换句话说,我不想在每次测试时都设置一个数据库,因为在这些情况下,CI工具每次都会创建一个容器来运行测试。测试数据库相关方法的最佳方法是什么?我在我的解决方案中使用依赖注入(inject),因此很容易用模拟数据库替换数据库。但是gorm有很多orm相关的功能。这是一个处理程序,例如:functokenIntrospectionHandler(db*gorm.DB)http.HandlerFunc{returnhttp.Handl

mysql - Go-MySQL-驱动程序 : Prepared Statements with Variable Query Parameters

我想在我的Go服务器上对MySQL使用准备好的语句,但我不确定如何让它使用未知数量的参数。一个端点允许用户发送一组ID,Go将从数据库中选择与给定ID匹配的对象。这个数组可以包含1到20个id,那么我将如何构造一个准备好的语句来处理它?我见过的所有示例都要求您确切知道查询参数的数量。我能想到的唯一(不太可能)的选择是准备20个不同的SELECT语句,并使用与用户提交的ID数量相匹配的语句——但这似乎是一个糟糕的hack。到那时我还能看到准备好的语句的性能优势吗?我很困在这里,所以任何帮助将不胜感激! 最佳答案 据我所知,没有RDBM

elasticsearch - Go弹性客户端: have to wait some time before run query

我使用olivereelasticlibrary连接到弹性。所以我有一个客户端,连接它,添加一些文件。然后我有另一个进行搜索的客户。但我必须等待几秒钟,因为即时响应是空的_,err:=client.Index().Index(elasticTemplateName).Type(elasticType).Id(myID).BodyJson(myJson).Do(ctx)require.NoError(t,err)//waitcauseofasyncelasticclienttime.Sleep(1000*time.Millisecond)result,err:=anotherClient

database - 是否可以在 GAE Golang Blobstore 中存储任意数据?

我正在GoogleAppEngineGo中创建一个大型数据库应用程序。我的大部分数据都很小,因此将它们存储在Datastore中没有问题。但是,我知道我会遇到一些几兆字节大的条目,因此我将不得不使用Blobstore来保存它们。寻找atthereferenceforBlobstore,该服务似乎主要用于上传到该服务的文件。我需要调用哪些函数才能像在Datastore中一样在Blobstore中存储任意数据?我已经可以将数据转换为[]byte并且我不需要在blob中索引任何内容,只需通过ID存储和获取它。 最佳答案 有两种方法可以将文

go - 将 URL.Query( slice 映射)转换为 struct golang

从标准库中直接映射会很棒URL.Query()到一个结构。Query()返回一个像这样的map:map[a:[aaaa]b:[bbbb]c:[cccc]]结构看起来像:typeThingstruct{AstringBstringCstring}我不知道为什么URL.Query会返回一个包含数组元素的映射。(好吧..我知道why但是GET不太可能有重复的参数) 最佳答案 请在下面找到直接在golang结构中解析获取查询参数然后将结构作为响应发回的完整示例packagemainimport("log""net/http""encodin