草庐IT

database_query

全部标签

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目前它将返回所有结果,其中至少有一个

sql - 为什么在 go sql 包中使用准备好的语句而不是 Query/Exec?

在路上sql包,我明白每条语句在执行后应该关闭。为什么有人会使用准备好的语句而不只是原始的Query或Exec方法? 最佳答案 准备好的语句已经绑定(bind)到数据库的具体连接,包含低级driver.Stmt并且可以被多个go-routings同时使用。因此准备和使用起来非常方便,而且工作速度更快。 关于sql-为什么在gosql包中使用准备好的语句而不是Query/Exec?,我们在StackOverflow上找到一个类似的问题: https://stac

sql - 为什么在 go sql 包中使用准备好的语句而不是 Query/Exec?

在路上sql包,我明白每条语句在执行后应该关闭。为什么有人会使用准备好的语句而不只是原始的Query或Exec方法? 最佳答案 准备好的语句已经绑定(bind)到数据库的具体连接,包含低级driver.Stmt并且可以被多个go-routings同时使用。因此准备和使用起来非常方便,而且工作速度更快。 关于sql-为什么在gosql包中使用准备好的语句而不是Query/Exec?,我们在StackOverflow上找到一个类似的问题: https://stac

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)这是我的界面

go - golang 中的 DB.Query() 和 DB.Prepare()+Stmt.Query() 有什么区别

这两种方案都可以实现相同的功能,那么它们有什么区别呢?引用:https://golang.org/pkg/database/sql/ 最佳答案 数据库查询func(db*DB)Query(querystring,args...interface{})(*Rows,error)Queryexecutesaquerythatreturnsrows,typicallyaSELECT.Theargsareforanyplaceholderparametersinthequery.根据定义,这接受单个查询并返回要迭代的行DB.Prepare(

go - golang 中的 DB.Query() 和 DB.Prepare()+Stmt.Query() 有什么区别

这两种方案都可以实现相同的功能,那么它们有什么区别呢?引用:https://golang.org/pkg/database/sql/ 最佳答案 数据库查询func(db*DB)Query(querystring,args...interface{})(*Rows,error)Queryexecutesaquerythatreturnsrows,typicallyaSELECT.Theargsareforanyplaceholderparametersinthequery.根据定义,这接受单个查询并返回要迭代的行DB.Prepare(

google-app-engine - AppEngine/数据存储 : Best way to retrieve since ancestor query returns everything recursively

当我使用祖先约束执行get()时,似乎我获得了该祖先键的所有实体以及它作为父级的所有祖先。在这种情况下,我使用祖先关系来表示同源树(所有节点都由同一种类表示;每个级别都立即一致)。我使用的所有ID都是全局唯一的,并且我在每个实体上都写了父ID(除了它在祖先路径中)。由于祖先检索返回了太多数据(所有级别和以下级别,而不仅仅是直接级别;文档没有提到这个和其他一些怪癖),我需要添加一个过滤器来确保我刚刚恢复到当前水平。因此,问题是执行ancestor().filter()与仅执行filter()的效率是否存在差异,因为它们都产生相同的结果对我来说。谢谢。 最佳答案

google-app-engine - AppEngine/数据存储 : Best way to retrieve since ancestor query returns everything recursively

当我使用祖先约束执行get()时,似乎我获得了该祖先键的所有实体以及它作为父级的所有祖先。在这种情况下,我使用祖先关系来表示同源树(所有节点都由同一种类表示;每个级别都立即一致)。我使用的所有ID都是全局唯一的,并且我在每个实体上都写了父ID(除了它在祖先路径中)。由于祖先检索返回了太多数据(所有级别和以下级别,而不仅仅是直接级别;文档没有提到这个和其他一些怪癖),我需要添加一个过滤器来确保我刚刚恢复到当前水平。因此,问题是执行ancestor().filter()与仅执行filter()的效率是否存在差异,因为它们都产生相同的结果对我来说。谢谢。 最佳答案