mgo中的Golang Bson排序参数
Posted
技术标签:
【中文标题】mgo中的Golang Bson排序参数【英文标题】:Golang Bson sort parameters in mgo 【发布时间】:2015-12-30 17:22:36 【问题描述】:我正在尝试将多重排序查询传递给 mgo 包的“排序”参数(请参阅https://godoc.org/labix.org/v2/mgo#Query.Sort)。
如果参数是动态的(当前保存在切片中),我如何将其转换为有效的排序字符串。
一个可行的例子是:
db.C(Collection).Find(Query).Limit(limit).Sort("-created_when", "-title").Iter()
但是如果“-created_when”和“-title”被保存在一个切片中,我尝试使用切片连接,例如:
sortBy := []string"-created_when", "title"
db.C(Collection).Find(Query).Limit(limit).Sort(strings.Join(sortBy, ",")).Iter()
查询无法正常工作。
如何将切片中的任意字段转换为所需的 .Sort([string1], [string2], ...) 格式??
【问题讨论】:
@icza 我发誓我没有复制你的评论,我现在才看到。 【参考方案1】:像这样:
db.C(Collection).Find(Query).Limit(limit).Sort(sortBy...).Iter()
【讨论】:
谢谢各位 - 比新产品发布提前 2 小时 - 无法为树木找到木材!以上是关于mgo中的Golang Bson排序参数的主要内容,如果未能解决你的问题,请参考以下文章
mgo 将 bson.objectId 转换为 html 模板中的字符串(十六进制)
使用 golang 和 mgo,如何在 MongoDB 中搜索一系列值?
带有 mgo 的 Go (golang) 中的 MongoDB:如何更新记录、确定更新是不是成功并在单个原子操作中获取数据?