草庐IT

database-caching

全部标签

database - 用golang动态查询mongodb

我正在尝试使用golang(和mgo库)查询我的mongodb数据库,只有一个函数,我目前使用的方法是:er=c.Find(sel(items)).Sort("-createdAt").All(&result)其中items是一个映射,键是我在数据库中搜索的字段名称,值是我要搜索的内容。和sel()是:funcsel(querymap[string]string)bson.M{result:=make(bson.M,len(query))result[]="$in"fork,v:=rangequery{result[k]=v}returnresult目前它将返回所有结果,其中至少有一个

database - 用golang动态查询mongodb

我正在尝试使用golang(和mgo库)查询我的mongodb数据库,只有一个函数,我目前使用的方法是:er=c.Find(sel(items)).Sort("-createdAt").All(&result)其中items是一个映射,键是我在数据库中搜索的字段名称,值是我要搜索的内容。和sel()是:funcsel(querymap[string]string)bson.M{result:=make(bson.M,len(query))result[]="$in"fork,v:=rangequery{result[k]=v}returnresult目前它将返回所有结果,其中至少有一个

caching - 在 go 1.10 中没有明显的方法来禁用测试缓存

这个问题在这里已经有了答案:Forceretestingordisabletestcaching(5个答案)关闭4年前。Golang1.10引入了测试缓存,但没有明显的方法来禁用测试缓存。所以问题是,如何暂时禁用它以及如何强制重建它。我确实阅读了文档:https://golang.org/cmd/go/#hdr-Build_and_test_caching但没有找到该问题的任何明显答案。

caching - 在 go 1.10 中没有明显的方法来禁用测试缓存

这个问题在这里已经有了答案:Forceretestingordisabletestcaching(5个答案)关闭4年前。Golang1.10引入了测试缓存,但没有明显的方法来禁用测试缓存。所以问题是,如何暂时禁用它以及如何强制重建它。我确实阅读了文档:https://golang.org/cmd/go/#hdr-Build_and_test_caching但没有找到该问题的任何明显答案。

database - 在 Go 中模拟数据库/sql 结构

在测试数据库方法时,我在database/sql包上创建了一个最小包装器,以允许我针对接口(interface)进行测试,而不是设置具体类的困难(如果不是不可能的话)。但是,当我尝试模拟sql.Stmt时出现以下错误:cannotuse*sql.StmtastypeIStmtinreturnargument:*sql.StmtdoesnotimplementIStmt(wrongtypeforQuerymethod)haveQuery(...interface{})(*sql.Rows,error)wantQuery(...interface{})(IRows,error)这是我的界面

database - 在 Go 中模拟数据库/sql 结构

在测试数据库方法时,我在database/sql包上创建了一个最小包装器,以允许我针对接口(interface)进行测试,而不是设置具体类的困难(如果不是不可能的话)。但是,当我尝试模拟sql.Stmt时出现以下错误:cannotuse*sql.StmtastypeIStmtinreturnargument:*sql.StmtdoesnotimplementIStmt(wrongtypeforQuerymethod)haveQuery(...interface{})(*sql.Rows,error)wantQuery(...interface{})(IRows,error)这是我的界面

database - 在 Go 中为 SQL 连接设置 TCP 超时

当我使用VPN连接到数据库(使用标准gosql库)并且VPN接口(interface)关闭时,当我尝试执行SQL查询时会有75秒的超时,无论接口(interface)是否同时打开。我想将此超时减少到某个合理的时间,这样我的应用程序就不会在这种情况下被卡住75秒。db,err:=sql.Open(driverName,dataSourceName)是否可以通过db变量以某种方式设置它? 最佳答案 database/sql包没有提供一种通用的方法来使对database/sql.Open的调用超时。但是,个别驱动程序通过DSN(dataS

database - 在 Go 中为 SQL 连接设置 TCP 超时

当我使用VPN连接到数据库(使用标准gosql库)并且VPN接口(interface)关闭时,当我尝试执行SQL查询时会有75秒的超时,无论接口(interface)是否同时打开。我想将此超时减少到某个合理的时间,这样我的应用程序就不会在这种情况下被卡住75秒。db,err:=sql.Open(driverName,dataSourceName)是否可以通过db变量以某种方式设置它? 最佳答案 database/sql包没有提供一种通用的方法来使对database/sql.Open的调用超时。但是,个别驱动程序通过DSN(dataS

database - db.Exec(...) 返回的错误是否有代码?

我正在尝试通过以下操作删除使用postgres驱动程序(lib/pq)的数据库:db.Exec("DROPDATABASEdbName;")但我想根据收到的错误是奇怪的还是“数据库不存在”错误来做一个不同的条件。是否有常量变量或其他东西可以用来检查返回的错误是否是“数据库不存在”错误消息,或者我是否必须自己手动解析错误字符串?我试图查看文档,但找不到“数据库不存在”的任何内容。但是我确实找到了thislist.也许它适合其他一些错误代码?此外,我不太确定通过Postgres驱动程序获取和比较错误代码的语义正确方式。我想我应该做这样的事情:iferr.ErrorCode!="xxx"

database - db.Exec(...) 返回的错误是否有代码?

我正在尝试通过以下操作删除使用postgres驱动程序(lib/pq)的数据库:db.Exec("DROPDATABASEdbName;")但我想根据收到的错误是奇怪的还是“数据库不存在”错误来做一个不同的条件。是否有常量变量或其他东西可以用来检查返回的错误是否是“数据库不存在”错误消息,或者我是否必须自己手动解析错误字符串?我试图查看文档,但找不到“数据库不存在”的任何内容。但是我确实找到了thislist.也许它适合其他一些错误代码?此外,我不太确定通过Postgres驱动程序获取和比较错误代码的语义正确方式。我想我应该做这样的事情:iferr.ErrorCode!="xxx"